- Home /
May I know how to reactivate an object that deactivated?
Hi All Unities,
What could I do to disable a specific button in paused event? or How could I reactivate an object? I been trying different methods but please help me if you could thanks.
Regards,
function PauseGame() { var newTarget = GameObject.FindWithTag("Player").transform; var newTarget2 = GameObject.FindWithTag("Patriot").transform; newTarget.active = false; newTarget2.active = false; ButtonNoice(); savedTimeScale = Time.timeScale; Time.timeScale = 0; AudioListener.pause = true; if (pauseFilter) pauseFilter.enabled = false; currentPage = Page.Main; }
function UnPauseGame() {
var newTarget = GameObject.Find("Ship"); var newTarget2 = GameObject.Find("Patriot"); ButtonNoice(); Time.timeScale = savedTimeScale; AudioListener.pause = false; if (pauseFilter) pauseFilter.enabled = true; currentPage = Page.None;
if (IsBeginning() && start != null) { start.active = true;
newTarget.SetActiveRecursively(true);
newTarget2.SetActiveRecursively(true);
}
}
Answer by sneftel · Apr 28, 2011 at 09:16 PM
GameObject.FindWithTag() won't return your Player or Patriot when they're not active. Make newTarget and newTarget2 class variables instead of local variables (and maybe give them better names). In PauseGame(), set them based on FindWithTag(), then disable them; in UnPauseGame, reenable them based on their prior values rather than trying to find them again.
Err ya, the PauseGame() works but the UnpauseGame() aren't... but what are the priority value should it be? This script from the unify wiki.
I don't know what "what are the priority value should it be?" means.
I just don't understand "based on their prior values rather than trying to find them" means so I wrote that hope this understandable for you.
In other words, in UnPause you won't need to call Find(), because you will already have found the objects in PauseGame and kept them in the variables. Of course, in order for that to work, newTarget and newTarget2 need to not be local variables, so that their value stays around after PauseGame() is over.
Your answer
Follow this Question
Related Questions
Set Player 2 to use player 1's postion in world 1 Answer
How To Keep GameObjects From Enabling Again? 2 Answers
Confused about enable 1 Answer
Disable a script from another script 2 Answers
How to init disabled canvas properly 1 Answer