Re: Seemingly Easy and Useful request
Hmm, that might be trickier. TimerMan has a function PauseSim
that might do it without issues, but I don't know since I've never tried it.
If that doesn't work, there may be some collection of all timers (like MovableMan.Actors) you can iterate through (maybe TimerMan.Timers?). Unfortunately the timer class doesn't seem to have a pause or stop function, but you can probably fake it by saving every timer's ElapsedSimTimeMS and doing one of two things with it depending on whether or not ElapsedSimTimeMS is readonly:
1. If ElapsedSimTimeMS is not readonly you can just reset it to the saved value every frame
2. If it is readonly, you'd have to do things a little more convolutedly by setting the timer's StartSimTimeMS to the saved elapsed time, then calling Reset() on the timer every frame until the game is unpaused. After it's unpaused you'd also want to reset the timer's StartSimTimeMS (so you'd have to save that too, though you could just save the ones that don't have a start time of zero) so it doesn't screw up timers that don't start at zero.
I think that would solve your issue.