* Make Sprite an IMMObject.
[matthijs/ABM2.git] / ABM2 / Engine / SpriteManager.h
diff --git a/ABM2/Engine/SpriteManager.h b/ABM2/Engine/SpriteManager.h
new file mode 100644 (file)
index 0000000..785bd02
--- /dev/null
@@ -0,0 +1,29 @@
+#if !defined(SPRITE_MANAGER_H__INCLUDED)
+#define SPRITE_MANAGER_H__INCLUDED
+
+#include <vector>
+#include <cassert>
+#include "Engine/mmanager.h"
+#include "Amaltheia/Sprite.h"
+#include "Amaltheia/Graphics.h"
+
+/**
+ * Used to hold data about default sprites.
+ */
+struct SpriteData {
+       unsigned int   id;
+       char*          filename;
+       int            width;
+       int            height;
+};
+
+
+class CSpriteManager
+{
+public:
+       CSpriteManager(Graphics* g, SpriteData *sd);
+       CMMPointer<Sprite> getSprite(unsigned int id);
+private:
+       std::vector< CMMPointer<Sprite> > loadedSprites;
+};
+#endif // SPRITE_MANAGER_H__INCLUDED