- Home /
Does declaring a variable as a reference to a static variable from another class actually create a reference?
I'm fairly new to Unity and I've been creating a menu system. Right now my game just has a few cubes that the user can select using raycasting, but I need to be able to stop that ability when the pause menu opens.
In my pause menu I declared a public static variable to update game is paused and it works, but I found that I have to directly hardcode in the variable I'm calling from my game functionality to stop while paused.
Here's a cutout of the relevant code where the variable isn't updating after initialization:
     bool gameIsPaused;
 
     private void Start()
     {
         bool gameIsPaused = PauseMenu.GameIsPaused;
     }
 
     private void Update()
     {
 
         if (gameIsPaused == false)
Here's a cutout of code where the script works as desired but the variable either has to be hardcoded in, or called every update like this.
 bool gameIsPaused;
 
     private void Update()
     {
         bool gameIsPaused = PauseMenu.GameIsPaused;
 
         if (gameIsPaused == false)
         {
So I guess my question is: do I have to call the variable gameIsPaused every update? Obviously it's not a big deal to go with the second option, but I think it's good to know for the future.
Answer by sacredgeometry · Dec 01, 2020 at 02:29 AM
Bools are structs. Structs are not reference types. They are value types and are passed by copy not reference in almost all situations.
As you have a static reference to that bool (I assume) I would just refrain from storing it in an instance member on this class (there is no need) and instead access/ use it directly.
i.e.
 if(!PauseMenu.GameIsPause) 
 {
     // Do this
 }
Reading
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/value-types
Your answer
 
 
             Follow this Question
Related Questions
How would i make an object change color every second? 0 Answers
My GameObject (c#) haven't sprite defined 4 Answers
New to Raycasts, trouble using "hit" 0 Answers
Animator Controller 0 Answers
Not getting debug.log errors from mysql? 0 Answers
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                