46 if ((
self = [super init]))
50 now = [UNIVERSE getTime];
72 return [
self initWithNextTime:[UNIVERSE getTime] + delay interval:-1.0];
86 NSString *intervalDesc =
nil;
88 if (
_interval <= 0.0) intervalDesc =
@"one-shot";
89 else intervalDesc = [NSString stringWithFormat:@"interval: %g", _interval];
91 return [NSString stringWithFormat:@"nextTime: %g, %@, %srunning", _nextTime, intervalDesc, _isScheduled ? "" : "not "];
142 [sDeferredTimers addObject:self];
171 now = [UNIVERSE getTime];
203 NSArray *timers =
nil;
208 foreach (timer, timers)
220 now = [UNIVERSE getTime];
227 scaled = ceil(scaled);
239- (NSComparisonResult) compareByNextFireTime:(
OOScriptTimer *)other
247 @catch (NSException *exception)
249 OOLog(
kOOLogException,
@"\n\n***** Ignoring Timer Exception: %@ : %@ *****\n\n",[exception name], [exception reason]);
252 if (
_nextTime < otherTime)
return NSOrderedAscending;
253 else if (
_nextTime > otherTime)
return NSOrderedDescending;
254 else return NSOrderedSame;