* Make Sprite an IMMObject.
[matthijs/ABM2.git] / ABM2 / Engine / SpriteManager.cpp
1 #include "SpriteManager.h"
2
3
4
5 CSpriteManager::CSpriteManager(Graphics *g, SpriteData *sd)
6 {
7         /* Load all sprites */
8         while (sd->id != 0)
9         {
10                 /* Colour given is for transparency, Sprite has no constructor
11                  * without a key colour... */
12                 Sprite* s = new Sprite(sd->filename, COLOUR_RGBA(248, 0, 248, 255), sd->width, sd->height, g);
13                 if (s) {
14                         /* Ensure the needed spot is present */
15                         while (this->loadedSprites.size() <= sd->id)
16                                 this->loadedSprites.push_back(NULL);
17                         this->loadedSprites[sd->id] = CMMPointer<Sprite>(s);
18                 }
19                 sd++;
20         }
21 }
22
23 CMMPointer<Sprite> CSpriteManager::getSprite(unsigned int id)
24 {
25         return this->loadedSprites[id];
26 }