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

68 lines
2.0 KiB
C++

#ifndef _SUIArenaSelectionReadyWnd_h_
#define _SUIArenaSelectionReadyWnd_h_
//#include "SUIWnd.h"
//#include "SUIUtil.h"
#include "ArenaMenuSystem.h"
/* 선택 입장
*/
class SUIArenaSelectionReadyWnd : public SUIWnd
{
public:
SUIArenaSelectionReadyWnd(SGameManager* pGameManager);
virtual ~SUIArenaSelectionReadyWnd();
virtual bool InitData( bool reload = false );
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 getWndInfo();
void syncPos();
void setRank();
void initMainMenu();
void initMenuSystem();
bool isEmptyControlRegion(int x, int y) const;
void setEnableCompleteButton(bool enable);
void setSelectMenuItem(int mainMenuId, int subMenuId);
void setUnSelectMenu(int mainMenuId);
void postUpdateMainMenuButton();
bool isValidArenaJoinSituation();
void isValidArenaJoinSituationAtNormalParty();
/// 루키일 경우에는 16:16 메뉴는 비활성화 시킨다
void checkEnable16By16();
/// 빙고는 2:2가 없다고 함, 현재 구조가 일괄적으로 팀 타입은 공통이라서 빙고일 경우에는 disable시키도록 함
void checkEnable2By2(int mainMenuId, int subMenuId);
// control fp
void close();
void complete();
void buttonMainRule();
void buttonSubClassic();
void buttonSubSlaughter();
void buttonSubBingo();
void buttonMainTeam();
void buttonSubTwo();
void buttonSubFour();
void buttonSubEight();
void buttonSubSixteen();
void procMsgJoinQueue(SGameMessage* msg);
void procMsgBattleInfo(SGameMessage* msg);
private:
enum { MAIN_MENU_RULE, MAIN_MENU_TEAM };
sArenaMenuSystem m_menuSystem;
cClassFuncP<SUIArenaSelectionReadyWnd> m_controlFp;
cClassParamFuncP<SUIArenaSelectionReadyWnd, SGameMessage*, int> m_msgFp;
sEmptyControlRegionChecker m_emptyControlRegionChecker;
KUIControl* m_completeButton;
};
#endif