- Home /
How to reset some specific game objects in the scene via a button?
Hi all, I am quite newcomer here and very very beginner on C# scripting.
The help I needed is;
I have a tray and there are some items (game objects) on it. I have used "OnMouseDown" and when you click on an object its statement turns deactive in hiyerarchy (dissapears from the scene). I want to reset the game objects statements (all of them must be active, deactivated ones and already activated ones included) Is there a way to reset all the items and their scripts attached on them?
Thanks for your helps by now.
Answer by FernandoHC · Aug 17, 2018 at 11:15 AM
You want something like the code below. Then go into the inspector and attach all the objects you want to control to the list called ListOfObjects, then call the public method ActivateAllObjects whenever you want to do it, you can put it in a button or call it from another object. I also added the line to getcomponent in case you want to access/enable/disable the script on that object, just replace the TestScript with your class name.
public List<GameObject> ListOfObjects;
public void ActivateAllObjects()
{
foreach (GameObject gameObj in ListOfObjects)
{
gameObj.SetActive(true);
gameObj.GetComponent<TestScript>().enabled = true;
}
}
Answer by Ermiq · Aug 17, 2018 at 11:46 AM
Here's a couple of very usefull solutions to get deactivated objects: https://answers.unity.com/questions/890636/find-an-inactive-game-object.html Also, if those objects are children of your tray object then you could get them all with:
// 'transform' is your tray transform if you attach the script to it
void Update ()
{
if (Input.GetKeyDown (KeyCode.F)) {
Component[] childrens = transform.GetComponentsInChildren (typeof(Transform), true);
foreach (Component tr in childrens) {
// set all of them active
tr.gameObject.SetActive (true);
}
}
}
If you want to use some UI button, I don't know how to use them, sorry.
Your answer
Follow this Question
Related Questions
Hide/Show a game object and activate/deactivate a script of another game object with one script 1 Answer
Reset a Gameobject to the original state 0 Answers
Cannot deactivate / activate gameobject, even in editor! 6 Answers
How to activate a script from another script at runtime 1 Answer
Unity - How to activate a canvas or gameobject when a scene restarts? 2 Answers