//------------------------------------------------------------------------------ // ÀÛ¾÷ÀÚ: ÀÌÁö¿¬ // 2006/03/13 //------------------------------------------------------------------------------ #pragma once #include #include const int c_iMaxDescCodeNum = 10; #pragma pack(push,1) struct BASE_HelpInfo { DWORD m_dw_HelpIndex; BYTE m_bHelpMethod; DWORD m_dw_CharStatus; DWORD m_dw_Level; DWORD m_dw_Repeat; BYTE m_bWindow_States; DWORD m_dw_Param; DWORD m_dw_TitleStringCode; DWORD m_dw_DescStringCode[c_iMaxDescCodeNum]; DWORD m_dw_ImageCode; BYTE m_bSoundControl; DWORD m_dwSoundValue; }; struct BASE_HelpIndex { DWORD m_dw_CharStatus; DWORD m_dw_HelpIndex; DWORD m_dw_Level; DWORD m_dw_Repeat; BYTE m_bWindow_States; DWORD m_dw_Param; BYTE m_bHelpMethod; BYTE m_bSoundControl; DWORD m_dwSoundValue; }; #pragma pack(pop) enum eHELP_DESC_INDEX { eHELP_DESC1 = 0, eHELP_DESC2, eHELP_DESC3, eHELP_DESC4, eHELP_DESC5, eHELP_DESC6, eHELP_DESC7, eHELP_DESC8, eHELP_DESC9, eHELP_DESC10, }; // CharStatus ¼øÀ¸·Î Á¤·Ä typedef std::multimap HELPINDEX_MAP; typedef std::pair HELPINDEX_PAIR; typedef HELPINDEX_MAP::iterator HELPINDEX_ITER; class HelpInfoParser : public Singleton ,public IParser { public: HelpInfoParser(); ~HelpInfoParser(); VOID Init(DWORD dwPoolSize , char *szPackfileName); VOID Init(DWORD dwPoolSize); VOID Release(); private: VOID Unload(); util::SolarHashTable* m_pDataTable; BOOL _Load(BOOL bReload); public: virtual BOOL LoadScript(eSCRIPT_CODE ScriptCode, BOOL bReload); BASE_HelpInfo* GetHelpInfo(DWORD dwHelpIndex); HELPINDEX_MAP m_HelpIndex; std::vector m_vecHelpIndex; };