/// 2011.10.12 - prodongi #ifndef _SUIRaidSiegeStatusWnd_h_ #define _SUIRaidSiegeStatusWnd_h_ //#include "SUIWnd.h" #include class SUIRaidSiegeProgressBaseWnd; class SUIRaidSiegeResultBaseWnd; class SUIRaidSiegeRotationSiegeWnd; /* 레이드/시즈의 진행 상황을 출력해 주는 창(진행, 결과) location이 PLAYER_IN_DUNGEON_SIEGE/PLAYER_IN_DUNGEON_RAID 로 받을 때, timer/gage show, 결과 채팅 메세지를 받을 때, 결과 show, timer/gage hide 결과 hide는 언제? */ class SUIRaidSiegeStatusWnd : public SUIWnd { public: enum { RAID, SIEGE }; enum { PROGRESS, RESULT }; public: SUIRaidSiegeStatusWnd(class SGameManager* pGameManager); virtual ~SUIRaidSiegeStatusWnd(); virtual void Process(DWORD dwTime); virtual void PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam ); virtual void ProcMsgAtStatic( SGameMessage* pMsg ); virtual void OnNotifyUIWindowOpen( bool bOpen, bool bLimitWnd = true ); virtual bool InitControls( KPoint kPos ); void changeSiegeOwner(int newOwnerType); protected: void checkReadyType(); void setReadyType(int type); SUIRaidSiegeProgressBaseWnd* createProgress(int type); SUIRaidSiegeResultBaseWnd* createResult(int type); void setProgressTime(std::string const& progressTime); void setProgressHp(int defenseHp, int offenseHp, int ownerType); void removeReadyTypes(); void setOwner(int owner); void updateRotationSiege(DWORD time); void removeRotationSiege(); protected: SUIRaidSiegeProgressBaseWnd* m_wndProgress; SUIRaidSiegeResultBaseWnd* m_wndResult; SUIRaidSiegeRotationSiegeWnd* m_wndRotationSiege; int m_readyType; AR_TIME m_progressTime; AR_TIME m_recvProgressTime; /// 서버에서 받은 시간(실제 적용될 때 딜레이 체크 때문에) int m_defenseHp; int m_offenseHp; int m_ownerType; int m_curLocation; int m_prevLocation; std::string m_opponentName; /// 2012.01.12 상대편 시즈 길드 이름 }; #endif