Files
2022-10-26 12:25:11 +08:00

132 lines
2.2 KiB
C++

#include "SunClientPrecompiledHeader.h"
#include ".\lobbymember.h"
#include "PacketStruct_CG.h"
#include "InterfaceManager.h"
#include "BattleRoomListDialog.h"
#include "CreateBattleDialog.h"
#include "Hero.h"
#if !defined ( _ZONE_TEST )
WzID LobbyMember::m_wzId[] =
{
StrToWzID("B000"),
};
LobbyMember::LobbyMember(void)
{
}
LobbyMember::~LobbyMember(void)
{
}
VOID LobbyMember::Init( CDrawBase * pDrawBase )
{
// window size
RECT * rcWindow = g_InterfaceManager.GetWindowRC();
long wWidth, wHeight;
if (rcWindow)
{
wWidth = (rcWindow->right - rcWindow->left);
wHeight = (rcWindow->bottom - rcWindow->top);
}
else
{
wWidth = 1024;
wHeight = 768;
}
// dialog size
RECT rcDialog;
GetDialogWZ()->GetDlgSize(&rcDialog);
int detWidth, detHeight;
detWidth = (rcDialog.right - rcDialog.left) /2;
detHeight = (rcDialog.bottom - rcDialog.top) / 2;
int iMidX = wWidth/2;
int iMidY = wHeight/2;
MoveWindowWZ(iMidX-detWidth, iMidY-detHeight);
}
VOID LobbyMember::Release()
{
}
VOID LobbyMember::MessageProc( SI_MESSAGE * pMessage )
{
switch( pMessage->eResultMsg )
{
case RT_MSG_LBUTTONCLICK:
{
switch (getCtrlIDToPos( pMessage->dwCtrlID ))
{
case LOBBYMEMBER_EXIT:
{
if (!m_bSendFlag)
{
MSG_CG_ZONE_LEAVELOBBYREQ_SYN MsgLeaveLobbySyn;
BattleRoomListDialog * pBattleDlg = (BattleRoomListDialog *)
g_InterfaceManager.GetDialog(InterfaceManager::DIALOG_BATTLE_ROOM);
CreateBattleDialog * pCreateDlg = (CreateBattleDialog * )
g_InterfaceManager.GetDialog(InterfaceManager::DIALOG_BATTLE_CREATE);
MsgLeaveLobbySyn.m_LobbyKey = BattleScene::GetCurRoomKey();
GlobalFunc::SendPacket(CI_GAMESERVERIDX, &MsgLeaveLobbySyn, sizeof(MsgLeaveLobbySyn));
}
}
break;
default:
{
}
break;
}
}
break;
}
}
VOID LobbyMember::NetworkProc( MSG_BASE * pMsg )
{
}
CControlWZ * LobbyMember::getControl( POSTYPE AtPos )
{
if( AtPos > Dialog_Max )
{
return NULL;
}
return GetControlWZ( m_wzId[AtPos] );
}
POSTYPE LobbyMember::getCtrlIDToPos( WzID wzId )
{
for( POSTYPE i = 0 ; i < Dialog_Max; ++i )
{
if( m_wzId[i] == wzId )
{
return i;
}
}
return Dialog_Max;
}
#endif