Files
Leviathan/Client/Game/game/Interface/Arena/SUIArenaPracticeWaitingWnd.h
2026-06-01 12:46:52 +02:00

69 lines
2.2 KiB
C++

#ifndef _SUIArenaPracticeWaitingWnd_h_
#define _SUIArenaPracticeWaitingWnd_h_
#include "SGameMessage.h"
#include "ArenaUtility.h"
//#include "SUIWnd.h"
//#include "SUIUtil.h"
class SUIArenaPracticeWaitingWnd : public SUIWnd
{
private:
typedef SMSG_BATTLE_ARENA_BATTLE_INFO::sPlayerInfo sPlayerInfo;
public:
SUIArenaPracticeWaitingWnd(SGameManager* pGameManager);
virtual ~SUIArenaPracticeWaitingWnd();
virtual bool InitData( bool reload = false );
virtual void Process(DWORD dwTime);
virtual void OnNotifyUIWindowOpen(bool bOpen, bool bLimitWnd);
virtual void ProcMsgAtStatic( SGameMessage* msg );
virtual void PumpUpMessage( LPCTSTR controlID, DWORD msg, DWORD lparam, DWORD wparam );
virtual DWORD OnMouseMessage(DWORD dwMessage, int x, int y);
private:
void initFp();
void initTooltip();
void syncPos();
void getWndInfo();
void setRank();
void postUpdateMainMenuButton();
bool isValidArenaJoinSituation();
void setMyTeam(int team);
/// 레뒤 상태에 따라서 시작/준비 완료 버턴의 상태를 바꿔준다
void updateStartButtonStatus();
bool isAllReady();
void updateMemberCount();
void setRule(int type);
void setTeam(int type);
void setMemberCount(int cur);
void setStadium();
void setTime(int type);
/// 대기중인지 체크해서 대기중이 아닌데 show면 hide 시킨다
void checkWaiting();
void procGuideTooltip();
///
void prepareComplete();
void start();
void procMsgBattleInfo(SGameMessage* msg);
void procMsgUpdateWaitUserCount(SGameMessage* msg);
void procMsgExerciseReadyStatus(SGameMessage* msg);
void procMsgJoinBattle(SGameMessage* msg);
void procMsgLeave(SGameMessage* msg);
void procMsgPromote(SGameMessage* msg);
private:
enum { MIN_ENABLE_COMPLETE_PLAYER_NUM = 1}; /// 준비 완료 버튼이 활성화 되는 최소 팀 인원, 원래 2이지만 테스트 때문에 1로 함
KUIControlSimpleButton* m_buttonComplete;
KUIControlSimpleButton* m_buttonStart;
KUIControlStatic* m_staticComplete;
KUIControlStatic* m_staticStart;
cClassFuncP<SUIArenaPracticeWaitingWnd> m_controlFp;
sEmptyControlRegionChecker m_emptyControlRegionChecker;
cClassParamFuncP<SUIArenaPracticeWaitingWnd, SGameMessage*, int> m_msgFp;
};
#endif