SpriteSystem.h
Go to the documentation of this file.00001 00011 #ifndef __SpriteSystem_H__ 00012 #define __SpriteSystem_H__ 00013 00014 // Includes 00015 #include "Singleton.h" 00016 #include "StringId.h" 00017 #include "Array.h" 00018 00019 // Forward declares 00020 class SpriteManager; 00021 class SpriteEventListener; 00022 class Bitmap; 00023 00024 // SpriteSystem 00025 class SpriteSystem:public Singleton<SpriteSystem> 00026 { 00027 public: 00028 SpriteSystem(); 00029 virtual ~SpriteSystem(); 00030 00031 void Update(float deltaTime); 00032 void Render(Bitmap& bitmap); 00033 00034 SpriteManager* GetDefaultSpriteManager(); 00035 void SetDefaultSpriteManager(SpriteManager* spriteManager); 00036 00037 int GetSpriteManagerCount() const; 00038 SpriteManager* GetSpriteManager(int index) const; 00039 void AddSpriteManager(SpriteManager* spriteManager); 00040 void RemoveSpriteManager(SpriteManager* spriteManager); 00041 00042 void UpdatePriority(SpriteManager* spriteManager); 00043 00044 void AddEventListener(SpriteEventListener* listener); 00045 void RemoveEventListener(SpriteEventListener* listener); 00046 00047 bool HasSpriteManager(SpriteManager* spriteManager) const; 00048 private: 00049 friend class SpriteManager; 00050 void SendEvent(SpriteManager* spriteManager, StringId event, void* userData); 00051 00052 private: 00053 Array<SpriteManager*> spriteManagers_; 00054 00055 SpriteManager* defaultSpriteManager_; 00056 00057 Array<SpriteEventListener*> eventListeners_; 00058 }; 00059 00060 #define siSpriteSystem SpriteSystem::GetInstance() 00061 00062 #endif /* __SpriteSystem_H__ */ 00063
Reproduction/republishing of any material on this site without permission is strictly prohibited.
