#pragma once /* * The Texture Manager will keep a small "Database" * of the name of the texture that is loaded and the * actual texture so we can query it with the filename * and it will return the teture if it is already in memory * or load the tture if it is not. */ #include #include #include #include "ImageLoader.h" using namespace std; class TextureManager { public: TextureManager(void); ~TextureManager(void); void Unload(void); SDL_Surface* Add(string filename); SDL_Surface* AddAlpha(string filename); private: // The textureNode will hold the name and the texture. struct textureNode { SDL_Surface* texture; string name; }; // We should not need more than a hundred.. static const int TEXTURE_ARR_SIZE = 100; textureNode _textures[TEXTURE_ARR_SIZE]; int _allocated; };