00001 #ifndef __GXSPRITEMAN 00002 #define __GXSPRITEMAN 00003 00004 00005 #include "GXStandardDefines.h" 00006 #include "GXTexturePrecacher.h" 00007 #include "GXVectorArray.h" 00008 #include "GXVector.h" 00009 //#include "GXExports.h" 00010 00011 #define SPRITEMAN_ERROR -1 00012 00013 00014 00015 00016 class CGXSpriteManager 00017 { 00018 public: 00019 CGXSpriteManager(); 00020 ~CGXSpriteManager(); 00021 00022 void Cleanup(); 00023 bool Init(CGXDeviceContainer* pDevice); 00024 00025 //must be called before any textures are precached 00026 void SetColorKey(D3DCOLOR Key); 00027 int PrecacheSprite(char* szFileName);//SPRITEMAN_ERROR 00028 00029 int AddSpriteInstance(SGXSpriteInfo* pInfo); 00030 bool DeleteSpriteInstance(UINT uIndex); 00031 bool GetSpriteInfo(UINT uIndex, SGXSpriteInfo* pOut); 00032 bool SetSpriteInfo(UINT uIndex, SGXSpriteInfo* pIn); 00033 00034 00035 bool RenderSprites(); 00036 00037 private: 00038 CGXTexturePrecacher m_TexturePrecacher; 00039 CGXVectorArray<SGXSpriteInfo> m_SpriteInfo; 00040 CGXDeviceContainer* m_pDevice; 00041 }; 00042 00043 00044 void GXSpriteInfoZeroer(SGXSpriteInfo* pInfo); 00045 00046 00047 00048 00049 00050 #endif