//---------------------------------------------------------------------------- /** @desc : BGMÀ» Ãâ·ÂÇϱâ À§ÇÑ ½ºÅ©¸³Æ® @author : À¯À翵 (y2jinc@webzen.co.kr) @remark : */ #pragma once #include #include #include #define MAX_BGMDESC_LEN 256 #define MAP_TYPE_DEFAULT 1 #define MAP_TYPE_EVENT 2 struct BASE_BGMSoundInfo { WORD m_wNum; char m_szDesc[MAX_BGMDESC_LEN]; WORD m_wType; WORD m_wFieldCode; DWORD m_RoomType; WORD m_wBGMNum; }; class BGMSoundInfoParser : public Singleton, public IParser { public: BGMSoundInfoParser(); ~BGMSoundInfoParser(); VOID Init(DWORD dwPoolSize); VOID Init(DWORD dwPoolSize, char * pszPackFileName); VOID Release(); private: DWORD MakeKey(int iType, WORD FieldCode, eZONETYPE eRoomType); VOID Unload(); util::SolarHashTable* m_pDataTable; BOOL _Load(BOOL bReload); public: virtual BOOL LoadScript(eSCRIPT_CODE ScriptCode, BOOL bReload); BASE_BGMSoundInfo* GetBGMInfo(int iType, WORD FieldCode, eZONETYPE eRoomType); };