73 lines
2.6 KiB
C++
73 lines
2.6 KiB
C++
|
|
/// 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<SNpcResourceDB::NPCRenderInfo> vecNpcInfo;
|
|
typedef std::vector<SUIWorldMapWnd::sDungeonGateInfo> 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<int> const& changeList);
|
|
/// 2011.10.28 디테일 맵의 npc 아이콘은 원래의 아이콘으로 복구한다. - prodongi
|
|
void restoreNpcIconToOriginal(std::vector<int> 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<float> m_updateAlpha;
|
|
bool m_isClosed;
|
|
float m_playerRadian;
|
|
KRect m_oriWorldRect;
|
|
bool m_bPointSign;
|
|
DWORD m_dwPlayerPointTime;
|
|
};
|
|
|
|
|
|
#endif |