Persistent Timers in Couroutines
I'm still figuring out coroutines. I feel like I have a pretty good grasp on them when working in a scene.
However, my issue is my waitforseconds resets when I go to a level. My example:
I have a bunch of resource timers on my main town scene. I can go adventure and load a platformer level, and when I finish it, I return to the main town scene. The coroutines all work fine. The problem is the waitforseconds resets when the main scene is loaded. I have a dontdestroyonload on my GameManager script with my coroutines in it hoping it would leave the timers working but it doesnt.
How can I keep the user earning resources even while in another scene? Do I have to use a singleton or can I get by with just not destorying the game object with my script?
If your Game$$anonymous$$anager script is part of your main scene then I would imagine it's being recreated when you load that scene. DontDestroyOnLoad is going to keep it around when you load a new scene, but if you reload the main scene it's going to give you a new one (in theory?).
A way to handle this (don't know if it's the best way) would be to put your game manager in a scene that gets loaded on start, with the DoNotDestroyOnLoad thing, and then it would load the main scene. And then never go back and load that startup scene again. I've not done much with moving around between scenes though, but I believe something like that would work for you.
I have the game manager load when the game starts,
This is my awake code
void Awake()
{
if (game$$anonymous$$anager == null) {
DontDestroyOnLoad (this);
game$$anonymous$$anager = this;
} else if (game$$anonymous$$anager != this) {
Destroy (gameObject);
}
}
All my variables persist, but it must restart the coroutine when I load the main scene again. I start my coroutines in the Start() but I thought it would only do that when the game started.
Your answer
Follow this Question
Related Questions
Object lerping forwards a set distance every 3 seconds. 1 Answer
How to do very accurate time measurement 3 Answers
Coroutine Issue 1 Answer
Burst Fire? 0 Answers
Issues with Scrolling Dialogue (repeating characters when printing text) 0 Answers