00001 00014 #ifndef __SpriteAction_H__ 00015 #define __SpriteAction_H__ 00016 00017 // Includes 00018 00019 // Forward declares 00020 class Sprite; 00021 class SpriteController; 00022 00023 // SpriteAction 00024 class SpriteAction 00025 { 00026 public: 00027 SpriteAction(); 00028 00029 virtual ~SpriteAction() { }; 00030 00031 virtual void Update(SpriteController* controller, Sprite* sprite, float deltaTime) = 0; 00032 00033 virtual void Setup(SpriteController* controller, Sprite* sprite) { }; 00034 00035 void ActionCompleted(); 00036 00037 bool IsActionCompleted() const; 00038 00039 private: 00040 bool actionCompleted_; 00041 }; 00042 00043 #endif /* __SpriteAction_H__ */ 00044