What would be the best way to make an NSTimer that could pause/un-pause its 
timing? Subclassing? Containment? Just roll my own with 
performWithSelector:afterDelay:? That is, if I (my code) creates a (smart) 
NSTimer with a duration of 5 seconds, then three seconds later I need to pause 
the timer, the timer should un-pause with 2 seconds left on it, not revert back 
to a duration of 5 seconds.

Use-case:
  I have a (fictitious) FPS game in which the players or bots can "damage" the 
scenery by leaving blast marks. A timer should remove these "decorations" after 
a given delay, but I want the timers to pause if any players/bots are within 
line-of-sight of the decorations. The timer should then un-pause once all the 
players and bots are out of line-of-sight (self-repairing nanotech scenery, 
anyone?)
  With a normal timer, you'd have to [<timer> invalidate], and/or re-create a 
new NSTimer instance, which would reset the time.
  Another good use is a "smartly" timed weapon/power-up spawn point. If the 
player (or a bot) is too close, the timer will pause, preventing the spawning 
of the weapons/power-ups, but as soon as no players or bots are close by, the 
timer will resume, and a new weapon or power-up will spawn there. This would 
discourage "camping" around known spawn points! :)

Or has this "wheel" already been invented?


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to