/// 2010.11.17 - prodongi #ifndef _SUIWorldDetailMapWnd_h_ #define _SUIWorldDetailMapWnd_h_ //#include "SUIWnd.h" #include "SNPCResourceDB.h" //#include "Util.h" #include "SUIWorldMapWnd.h" /// 2011.07.21 - prodongi typedef std::vector vecNpcInfo; typedef std::vector vecDungeonGateInfo; /// 2011.07.21 - prodongi class SUIWorldDetailMapWnd : public SUIWnd { public: SUIWorldDetailMapWnd( SGameManager* pGameManager ); virtual ~SUIWorldDetailMapWnd(); virtual bool SUIWorldDetailMapWnd::InitData( bool bReload ); virtual void PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam ); virtual void ProcMsgAtStatic( SGameMessage* pMsg ); void Process(DWORD dwTime, DWORD elapsedtime); void createNpc(vecNpcInfo const& npcList); void createDungeonGate(vecDungeonGateInfo const& dungeonGateList); /// 2011.07.21 - prodongi void setType(int type) { m_type = type; } void setWorldRect(KRect const& worldRect) { m_worldRect = worldRect; } bool isClosed() const { return m_isClosed; } void setIndex(int index) { m_index = index; } /// 2011.06.02 - prodongi void beginAlpha(); void endAlpha(); void setPlayerRotation(float radian); /// 2011.03.14 - prodongi //void refreshNpcPos(KRect const& offset); /// 2011.03.15 test 코드, 혹시 몰르니 남겨둔다 - prodongi /// 2011.08.30 - prodongi void convertWorldToUiPos(KPoint const& worldPos, KPoint& uiPos); /// 2011.10.28 디테일 맵의 npc 아이콘은 완료 아이콘으로 바꾼다. - prodongi void changeNpcIconToFinish(std::vector const& changeList); /// 2011.10.28 디테일 맵의 npc 아이콘은 원래의 아이콘으로 복구한다. - prodongi void restoreNpcIconToOriginal(std::vector const& restoreList); protected: void procNpcPeriodic(); void buttonClick(LPCSTR lpszControlID, DWORD lparam, DWORD wparam); void setPlayerWorldPos(int worldX, int worldY); void refreshPlayerPos(); void setWorldToUiPos(KPoint const& worldPos, KPoint const& uiBasisPos, KUIWnd* wnd); void checkVisibleIsInRegionPlayer(); /// 2011.03.14 플레이어 컨트롤이 유효한 영역에 있는지 검사 - prodongi int calcFieldIndex(); /// 2011.06.02 - prodongi void MoveWorld(KPoint uiPos); public: enum { FIELD, VILLAGE, TOWN }; protected: KUIWnd* m_playerWnd; KUIWnd* m_rtWorldWnd; KPoint m_playerWorldPos; int m_type; int m_index; /// 2011.06.02 - prodongi KRect m_worldRect; vecNpcInfo m_npcList; sUpdateTime m_updateAlpha; bool m_isClosed; float m_playerRadian; KRect m_oriWorldRect; bool m_bPointSign; DWORD m_dwPlayerPointTime; }; #endif