Ok, I know you’re not gonna like it, but I found a hacky solution to all this ![]()
I reverted back to Pausing the game.
Instead of having 2 timers, I only kept the LevelTimer.
For the 3,2,1,Go… I created an animation in the widget, that lasts exactly 4sec. → after the animation is complete, I call an event "Animation Finished(Widget Animation) and Unpause the game.
I know it’s hacky af… but it works. This way if the user pauses the game at any time (for a pauseMenu, Settings, etc etc…) the LevelTimer gets instantly paused as well.
I know it’s probably not the best approach, but it works great for what I had in mind initially. Not to mention… no more custom timers, dispatches, delegates and all the complicated stuff.
Let me know what you think, or if you see any issues with this or a better/simpler way