#ifndef _GROUPPARSER_H_ #define _GROUPPARSER_H_ #pragma once #include #include #include #define MAX_FOLLOWER_NUM 5 struct FOLLOWERINFO { DWORD dwMonCode; WORD wNum; }; struct BASE_GROUPINFO { WORD wGroupID; // ¹øÈ£ DWORD dwFormationType; // ÁøÇü ŸÀÔ float fLinkRange; // ¹üÀ§ DWORD dwLeaderCode; // ¸®´õ ÄÚµå FOLLOWERINFO FollowerInfo[MAX_FOLLOWER_NUM]; // ºÎÇÏ Á¤º¸ }; class GroupParser : public util::Singleton, public IParser { public: GroupParser(); ~GroupParser(); VOID Init( DWORD dwPoolSize ); VOID Release(); VOID Reload(); BASE_GROUPINFO * GetGroupInfo( WORD wGroupID ) { return m_pGroupHashTable->GetData( wGroupID ); } private: BOOL _Load( BOOL bReload ); virtual BOOL LoadScript( eSCRIPT_CODE ScriptCode, BOOL bReload ); BOOL CheckValidity( BASE_GROUPINFO *pGroupInfo ); VOID Unload(); private: util::SolarHashTable* m_pGroupHashTable; char m_pszFileName[MAX_PATH]; }; #endif // _GROUPPARSER_H_