www.pudn.com > notWow.rar > TexMgr.h
#pragma once #include "Enums.h" #include #include #include #include #include using namespace std; #ifndef SAFE_RELEASE #define SAFE_RELEASE(p) { if((p) != NULL) { (p)->Release(); (p) = NULL; } } #endif // // this Manager is similar with ModelManager // class TexturesManager { LPDIRECT3DDEVICE9 m_pd3dDevice; vector m_Textures; vector m_RefCounters; map m_NameMap; int m_MinPos; int m_nTextures; public: void Init(LPDIRECT3DDEVICE9 pd3dDevice); void Free(); TextureID AddTexture(const char* Name); TextureID AddTextureInM2(const char* Name); void Delete(TextureID id); inline LPDIRECT3DTEXTURE9 GetTexture(TextureID id); string GetTextureName(TextureID id); bool OnCreate(); void OnDestory(); bool OnReset(); void OnLost(); }; LPDIRECT3DTEXTURE9 TexturesManager::GetTexture(TextureID id) { if(id >= 0 && id < m_Textures.size()) return m_Textures[id]; return NULL; }