Mercurial > LightClone
view LightClone/Source/ResourceManager.h @ 58:5e382dee4c70
Rename CodePanel/CodeSlot to ProgramPanel/ActionSlot
author | koryspansel <koryspansel@bendbroadband.com> |
---|---|
date | Fri, 30 Sep 2011 22:39:08 -0700 |
parents | 5656c8e382fc |
children | 44dcff5abf12 |
line wrap: on
line source
/* * ResourceManager */ #ifndef __RESOURCEMANAGER_H__ #define __RESOURCEMANAGER_H__ #include "Core.h" #include "GraphicsDevice.h" #include "FixedString.h" #include "HashMap.h" /* * ResourceType */ enum { ResourceType_Texture, ResourceType_Effect, ResourceType_Font, ResourceType_VertexBuffer, ResourceType_IndexBuffer, }; /* * ResourcePath * TODO: Wasting memory */ typedef FixedString<> ResourcePath; /* * ResourceManager */ class ResourceManager { /* * TextureCache */ typedef HashMap<ResourcePath, IDirect3DTexture9*, ResourcePath::Hash> TextureCache; /* * EffectCache */ typedef HashMap<ResourcePath, ID3DXEffect*, ResourcePath::Hash> EffectCache; /* * FontCache */ typedef HashMap<ResourcePath, ID3DXFont*, ResourcePath::Hash> FontCache; /* * pGraphicsDevice */ GraphicsDevice* pGraphicsDevice; /* * kTextureCache */ TextureCache kTextureCache; /* * kEffectCache */ EffectCache kEffectCache; /* * kFontCache */ FontCache kFontCache; public: /* * ResourceManager */ ResourceManager(); /* * Initialize */ ErrorCode Initialize(GraphicsDevice* pDevice); /* * Terminate */ void Terminate(); /* * CreateTextureFromFile */ ErrorCode CreateTextureFromFile(const char* pName, IDirect3DTexture9** pTexture); /* * CreateEffectFromFile */ ErrorCode CreateEffectFromFile(const char* pName, ID3DXEffect** pEffect); /* * CreateFontFromName */ ErrorCode CreateFontFromName(const char* pName, uint32 nSize, uint32 nWeight, ID3DXFont** pFont); /* * CreateVertexBuffer */ ErrorCode CreateVertexBuffer(uint32 nSize, uint32 nUsage, uint32 nPool, IDirect3DVertexBuffer9** pBuffer); }; #endif //__RESOURCEMANAGER_H__