Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by vainoharha · Sep 14, 2019 at 07:26 PM · c#scripting problemboolean

Setting bool from other script for specific gameobjects (while they're using same movement script)

Greetings. o/


After numerous hours and days spent on various forums and youtube videos now I gotta raise my hands for total surrender.

I'm making a simple gravity based game. Where you're in control of 10 differently shaped objects all at the same time. Goal is trying to reach certain safespot with them and using only three directions: left,up and right using only mouse buttons and keyboard.

This game project is mainly for learning how to handle basic situations on Unity. :) My test-game's other scenes work flawlessly (Where scripts are passing variables from other scripts, turning objects when certain variable is fulfilled, teleporting, checking if tag is allowed to enter etc.)

But! Now I'm having a hard time with this one little boolean variable which keeps affecting all gameobjects with same script instead of affecting independently.

Desperately trying to find solution and NOT using spaghetti code (if statement for each gameobject along with own personalized c# movement script) for no-no solution.

Any ideas and examples are more than welcome. Added comments in scripts for making it a little bit easier to follow/read.

Those headaching scripts:

HiiriPois.cs (MouseOff) is attached to empty large gameobject with Mesh Renderer off for acting as trigger for incoming gameobjects.


HiiriPois.cs

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 public class HiiriPois : MonoBehaviour
 {
     // for identifying gameobjects entering trigger instead of numerous if statements
     private string EsineLista = "|Esine1|Esine2|Esine3|Esine4|Esine5|Esine6|Esine7|Esine8|Esine9|Esine10|";
    
     public bool VainHiiri = false;
 
     
             void OnTriggerStay(Collider collider)
             {
                 if (EsineLista.Contains(string.Format("|{0}|", collider.tag)))
                 {
                     VainHiiri = true;   // this is working in inspector. 
                                                   // Tick appears on it but this  just 
                                                   // doesn't pass it to Movement script
                                                  // for that certain gameobject.
                 }
             }
         void OnTriggerExit(Collider collider)
         {
             if (EsineLista.Contains(string.Format("|{0}|", collider.tag))) 
             {
                 VainHiiri = false;  // inspector tick disappears like it should.
             }
         }
 }

Movement.cs is attached to every controllable gameobject.


Movement.cs

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 public class Movement : MonoBehaviour
 {
     // Getting that certain bool value for each gameobject
     public bool VainHiiri;
     public HiiriPois RatOff;
 
     // For Controlling multiple GameObjects
     public float thrust = 20f;
     public Rigidbody rb;
     
     void Start()
     {
         rb = GetComponent<Rigidbody>();
         // RatOff = GetComponent<HiiriPois>().VainHiiri; 
         // Just one of desperate tests for getting that
         // boolean status from HiiriPois trigger
         VainHiiri = GameObject.Find("PoistaKiippari").GetComponent<HiiriPois>().VainHiiri;
         // PoistaKiippari is a gameobject with Mesh
         // Renderer off. Holding HiiriPois script.
     }
         
 void FixedUpdate()
     {
         if (RatOff.VainHiiri == true) // Can only be activated/deactivated manually
                                             // through inspector for each gameobject
                                            // getting that disabled keyboard control
         {
             Debug.Log("Only Mouse control is on!"); // for debug purposes only      
         }
      
     // move objects to left
         if (Input.GetMouseButtonDown(0)  || Input.GetKey("a") && RatOff.VainHiiri == false)
      
         {
            rb.AddForce(-5, 0, thrust * Time.deltaTime, ForceMode.VelocityChange);
         }
 
     // move objects to right
         if (Input.GetMouseButtonDown(1)  || Input.GetKey("d") && RatOff.VainHiiri == false)  
         
     {
            rb.AddForce(5, 0, thrust * Time.deltaTime, ForceMode.VelocityChange);
         }
 
     // move objects to up
         if (Input.GetMouseButtonDown(2) || Input.GetKey("s") && RatOff.VainHiiri == false) 
         {
            rb.AddForce(thrust * Time.deltaTime, 5, 0, ForceMode.VelocityChange);
         }
     }
 }
Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

2 Replies

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by Anaxis_Studio · Sep 14, 2019 at 08:31 PM

HiiriPois class is attempting to change the VainHiiri boolean of the GameObjects Movement script without using the correct reference.


GameObject A has a script (Script 1). This script is trying to access a boolean from (Script2) on each GameObject (GO1, GO2, GO3, etc).


 public GameObject myObject1;
 
 myObject1.GetComponent<Movement>().VainHiiri = true;


So your HiiriPois class needs to hold a reference to these objects, and get their respective component. But you're doing it a slightly different way than above so maybe try this?


 OnTriggerEnter(Collider other)
 {
     other.GetComponent<Movement>().VainHiiri = true;
 }
Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image
0

Answer by vainoharha · Sep 15, 2019 at 08:35 PM

I'll take off my hat (if I ever use one) to salute you \o/

Your simple yet excellent explain along with example (I learn best from examples) did
it's magic and GetComponent have finally opened to me. :)

Last example of yours did the trick so easily with only a little bit of modification and
now I could get rid of pile of meaningless tests trying to get a hang of this problem.

Yet again. Thank you so much!

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

675 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Need help accessing booleans from other script. 2 Answers

How to activate gameObjects based on a boolean from another scene? 1 Answer

C# | How to detect the end of an animation? 1 Answer

[Solved] Boolean is true and flase every frame 3 Answers

Boolean Troubles(C#)- Can anyone help? 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges