#ifndef _STATEINFOPARSER_H_ #define _STATEINFOPARSER_H_ #pragma once #include #include #include #include struct BASE_STATEINFO; //================================================================================================== class StateInfoParser : public util::Singleton, public IParser { public: StateInfoParser(); virtual ~StateInfoParser(); void Init(DWORD dwPoolSize); void Init(DWORD dwPoolSize, char* pszPackFileName); void Release(); void Reload(); void Unload(); BASE_STATEINFO* GetStateInfo(CODETYPE dwStateCode); public: BOOL LoadScript(eSCRIPT_CODE ScriptCode, BOOL bReload); private: BOOL _Load(BOOL bReload); private: util::SolarHashTable* m_pStateInfoHashTable; char m_pszFileName[MAX_PATH]; }; inline BASE_STATEINFO* StateInfoParser::GetStateInfo(CODETYPE dwStateCode) { return m_pStateInfoHashTable->GetData(dwStateCode); } #endif // _STATEINFOPARSER_H_