132 lines
2.2 KiB
C++
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 |