#pragma once //------------------------------------------------------------------------------ // // ÀÛ¾÷ÀÚ: ÀÌÁö¿¬ // uiHelpMan class //------------------------------------------------------------------------------ #include "HelpInfoParser.h" #include "uiBaseMan.h" #define STRSAFE_NO_DEPRECATE #include "../MemoryINI/AKMemoryIni/MemoryIni.h" const int c_iMaxHelpIcon = 3; const WzID c_wiHelpMissionFont = StrToWzID("st10"); //----------------------------------------------------------------------------- // µµ¿ò¸» (¾ÆÀÌÄÜÀ¸·Î Ãß°¡µÇ´Â°¡, ÇÏ´Ü ¾Ë¸²Ã¢Àΰ¡) //----------------------------------------------------------------------------- enum HELP_METHOD { eHM_ICON = 0, eHM_ANNOUNCE, }; //----------------------------------------------------------------------------- class uiHelpMenu; class uiHelpWindow; class uiHelpAnnounceWindow; class uiHelpMission; class uiHelpMonsterInfo; // ½Ì±Û¸ðµå½Ã ¸ó½ºÅÍ À̵¿ ¹× ½ºÅ³ º¸±â ±â´É class uiHelpMissionTimer; struct IM_HELP_MANAGER { static const DWORD HELP_MENU_DLG; static const DWORD HELP_WINDOW_DLG; static const DWORD HELP_ANNOUNCE_DLG; static const DWORD HELP_MONSTER_DLG; static const DWORD HELP_MISSION_DLG; static const DWORD HELP_MISSION_TIMER_DLG; }; struct stHelpMissionInfo { int iTextID; DWORD dwNCode; DWORD dwDCode; DWORD dwImgCode; }; typedef std::vector HELP_MISSION_VEC; struct stHelpReadInfo { DWORD m_dw_HelpIndex; DWORD m_dw_Repeat; }; class uiHelpMan : public uiBaseMan { public: uiHelpMan(InterfaceManager *pUIMan); virtual ~uiHelpMan(); //-------------------------------------------------------------------------- // init/release // public: virtual void OnRelease(); virtual void OnInitialize(); private: BOOL _LoadUI(); //-------------------------------------------------------------------------- // functions // public: void CheckHelpMessage(int iCharStatus, int iParam = 0, BOOL bIsLimited = FALSE); void InitHelpMenuList(); void AddNewHelpIndex(DWORD dwHelpIndex); void SetPosition(); void AddReadHelpIndex(DWORD dwHelpIndex, BOOL bSave); void SetHelpIndex(DWORD dwHelpIndex, int iCount); int GetReadHelpCount(DWORD dwHelpIndex); void ResetReadInfo(TCHAR* pCharName); void LoadReadInfo(); void SaveReadInfo(DWORD dwIndex, int iCount); int GetNewHelpIndex(DWORD dwHelpIndex); void ShowHelpMenu(BOOL bShow, BOOL bForce = FALSE); void ShowHelpWindow(int iBtnIndex); void ShowHelpWindowForIndex(DWORD dwHelpIndex); #ifdef _SCJ_REMOVE_ANNOUNCE_WINDOW #else void ShowHelpTest(DWORD dwHelpIndex); void ShowHelpTestStringCode(DWORD dwStringCode); void ShowHelpAnnounce(DWORD dwHelpIndex,BOOL bIgnoreOption = FALSE); #endif //_SCJ_REMOVE_ANNOUNCE_WINDOW void ShowGMMsg(DWORD dwHelpIndex, int iParam = 0, bool bShutDown = false); // GM ¸Þ½ÃÁö Ãâ·Â¿ë ÇÔ¼ö void ClearHelpMission(); void HideHelpMission(); void AddHelpMission(int iTextID, DWORD dwNCode, DWORD dwDCode, DWORD dwImgCode); void DelHelpMission(int iTextID); void UpdateHelpMission(int iNewItemTextID = -1); // #ifdef _SCJ_REMOVE_ANNOUNCE_WINDOW #else void ShowQuestHelp(int iParam,eHELP_KIND eKind); #endif //_SCJ_REMOVE_ANNOUNCE_WINDOW void ShowHelpMonsterInfo(BOOL bVal); // ½Ì±Û¸ðµå½Ã ¸ó½ºÅÍ À̵¿ ¹× ½ºÅ³ º¸±â ±â´É #ifdef _SCJ_REMOVE_ANNOUNCE_WINDOW #else void RestoreHelpInfo(); #endif //_SCJ_REMOVE_ANNOUNCE_WINDOW void SetMissionTimer(DWORD require_tIme, BYTE progress_type); private: void _addHelp(int iCharStatus, int iParam = 0); void _addNewHelpVec(DWORD dwHelpIndex); //-------------------------------------------------------------------------- // procedure // public: //-------------------------------------------------------------------------- // member vars // public: std::map m_mapHelpInfo; BOOL m_bLoadInfo; std::vector m_vecNewHelp; HELP_MISSION_VEC m_vecHelpMissionInfo; private: uiHelpMenu* m_pUIHelpMenu; uiHelpWindow* m_pUIHelpWindow; uiHelpAnnounceWindow* m_pUIHelpAnnounceWindow; uiHelpMission* m_pUIHelpMission; uiHelpMonsterInfo* m_pUIHelpMonsterInfo; // ½Ì±Û¸ðµå½Ã ¸ó½ºÅÍ À̵¿ ¹× ½ºÅ³ º¸±â ±â´É uiHelpMissionTimer* help_mission_timer_; TCHAR m_szFileName[512]; MemoryIni m_MemoryINI; };