00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #import "AMTimeAction.h"
00011 #import "AMEventAction.h"
00012 #import "AMAnimation.h"
00013 #import "AMTime.h"
00014 #import "AMPlayable.h"
00015 #import "a2ml.h"
00016 #import <Foundation/Foundation.h>
00017
00018
00022 @interface AMScheduler : NSObject {
00023
00024 double currentTime;
00025 BOOL paused;
00026
00027
00028 NSDate *initialTime;
00029 NSNumber *previousTimeIndex;
00030
00031 NSMutableDictionary *animations;
00032 NSMutableSet *eventActions;
00033 NSMutableDictionary *timeActions;
00034
00035 NSMutableSet *startedAnimations;
00036 NSMutableDictionary *managedObjects;
00037 }
00038
00039 @property (nonatomic, readonly) double currentTime;
00040 @property (nonatomic, readonly) BOOL paused;
00054 - (AMEventAction *)registerEventAction:(NSString *)_event playable:(id)_playable action:(AMActionType)_action delay:(AMTime *)_delay permanent:(BOOL)_permanent;
00055
00067 - (AMTimeAction *)registerTimeAction:(AMTime *)_time playable:(id)_playable action:(AMActionType)_action permanent:(BOOL)_permanent;
00068
00073 - (void)removeEventAction:(AMEventAction *)_eventAction;
00074
00081 - (void)incrementTime;
00082
00086 - (void)start;
00087
00091 - (void)pause;
00092
00098 - (void)resetTime;
00099
00104 - (void)resetAll;
00105
00106 @end