Files
2022-10-26 12:25:11 +08:00

49 lines
1.2 KiB
C++

#ifndef __RESOURCE_INFO_LIST_H__
#define __RESOURCE_INFO_LIST_H__
#include <SolarHashTable.h>
#include <Singleton.h>
#include <SolarFileReader.h>
#define MAX_RESOURE_FILENAME 128
typedef struct _RESOURCE_INFO
{
RESOURCECODE dwCode;
char szFilename[MAX_RESOURE_FILENAME];
int dwTotalRefCount;
} RESOURCE_INFO;
class GraphicResourceList : public Singleton<GraphicResourceList>, public IParser
{
public:
GraphicResourceList();
~GraphicResourceList();
VOID Init(DWORD dwItemInfoPoolSize);
VOID Init(DWORD dwItemInfoPoolSize, char * pszPackFileName);
VOID Release();
virtual BOOL LoadScript(eSCRIPT_CODE ScriptCode, BOOL bReload);
RESOURCE_INFO* GetItemInfo(CODETYPE ItemCode) { return m_pResourceHashTable->GetData(ItemCode); }
BOOL AddItemInfo(CODETYPE ItemCode, char* pszResourceFileName);
util::SolarHashTable<RESOURCE_INFO *>::iterator Begin()
{
return m_pResourceHashTable->begin();
}
util::SolarHashTable<RESOURCE_INFO *>::iterator End()
{
return m_pResourceHashTable->end();
}
private:
VOID Unload();
util::SolarHashTable<RESOURCE_INFO*>* m_pResourceHashTable;
};
#endif