- Home /
How to hide and show game objects in code
My function changes the type of window in a segment of wall based on the value of the int "owner.window.amount" by showing and hiding a few game objects containing 3D models.
My code is currently:
private void chooseWindow()
{
if(window.activeSelf) window.SetActive(false);
if(noWindow.activeSelf) noWindow.SetActive(false);
if(slit.activeSelf) slit.SetActive(false);
if(loop.activeSelf) loop.SetActive(false);
if(glass.activeSelf) glass.SetActive(false);
switch (owner.window.amount) {
case 0:
noWindow.SetActive(true);
break;
case 1:
if(!window.activeSelf) window.SetActive(true);
slit.SetActive(true);
break;
case 2:
if(!window.activeSelf) window.SetActive(true);
loop.SetActive(true);
break;
case 3:
if(!window.activeSelf) window.SetActive(true);
break;
case 4:
if(!window.activeSelf) window.SetActive(true);
glass.SetActive(true);
break;
default:
break;
}
}
The overall logic seems to be working fine, but the specific methods I am using have some problems.
Setting inactive and then active again seems to affect the transform system because my windows appear down on the ground instead of up in the wall where they were originally parented.
Also, I am getting runtime exceptions when I try to change the window like: " MissingReferenceException: The object of type 'GameObject' has been destroyed but you are still trying to access it. Your script should either check if it is null or you should not destroy the object. "
I also tried using "window.enabled = false;" but monodevelope colors the word "enabled" red as if it were not a property of the GameObject window.
I've looked all over the web for solutions, including the unity scripting tutorials, and I keep finding solutions posted that don't seem to work. Am I doing something wrong?
Your answer
Follow this Question
Related Questions
How to hide/unhide a GUI image when character enters trigger. 1 Answer
Show/hide GUI texture 2 Answers
hide button 1 Answer
Reloading a Scene throws NullReferenceException on GO with nested Prefabs 0 Answers
How to init disabled canvas properly 1 Answer