BOOL CClientCmdHandler::OnCmdNewCharAck( UINT16 wCommandID, UINT64 u64ConnID, CBufferHelper *pBufferHelper ) { StCharNewCharAck CharNewCharAck; pBufferHelper->Read(CharNewCharAck); CHECK_PAYER_ID(CharNewCharAck.CharPickInfo.u64CharID); return TRUE; }
BOOL ClientEngine::OnCmdConnectNotify(UINT16 wCommandID, UINT64 u64ConnID, CBufferHelper *pBufferHelper) { StConnectNotify ConnectNotify; pBufferHelper->Read(ConnectNotify); UINT32 ConType = ConnectNotify.btConType; ConnectNotify.btConType = TYPE_CLT_PLAYER; ConnectNotify.u64ConnID = m_u64ClientID; CBufferHelper WriteHelper(TRUE, &m_WriteBuffer); WriteHelper.BeginWrite(CMD_CONNECT_NOTIFY, CMDH_SVR_CON, 0, 0); WriteHelper.Write(ConnectNotify); WriteHelper.EndWrite(); SendData(m_WriteBuffer.GetData(), m_WriteBuffer.GetDataLenth()); if(ConType == TYPE_SVR_PROXY) { StCharEnterGameReq CharEnterGameReq; CharEnterGameReq.u64CharID = m_u64ClientID; CharEnterGameReq.dwIdentifyCode = m_dwIdentifyCode; CHECK_PAYER_ID(m_u64ClientID); CBufferHelper WriteHelper(TRUE, &m_WriteBuffer); WriteHelper.BeginWrite(CMD_CHAR_ENTER_GAME_REQ, CMDH_SENCE, 0, CharEnterGameReq.u64CharID); WriteHelper.Write(CharEnterGameReq); WriteHelper.EndWrite(); SendData(m_WriteBuffer.GetData(),m_WriteBuffer.GetDataLenth()); } else if(ConType == TYPE_SVR_LOGIN) { SetConnectState(Succ_Connect); } return 0; }
BOOL ClientEngine::OnCmdPickCharAck( UINT16 wCommandID, UINT64 u64ConnID, CBufferHelper *pBufferHelper ) { StCharPickCharAck CharPickCharAck; pBufferHelper->Read(CharPickCharAck); CHECK_PAYER_ID(CharPickCharAck.u64CharID); if(CharPickCharAck.nRetCode == E_SUCCESSED) { DisConnect(); m_u64ClientID = CharPickCharAck.u64CharID; m_dwIdentifyCode = CharPickCharAck.dwIdentifyCode; ConnectToServer(CharPickCharAck.szIpAddr, CharPickCharAck.sPort); } return TRUE; }
BOOL CClientCmdHandler::SendDelCharReq( UINT32 dwAccountID,UINT64 dwCharID ) { StCharDelCharReq CharDelCharReq; CharDelCharReq.dwAccountID = dwAccountID; CharDelCharReq.u64CharID = dwCharID; CBufferHelper WriteHelper(TRUE, m_ClientConnector.GetWriteBuffer()); CHECK_PAYER_ID(dwCharID); WriteHelper.BeginWrite(CMD_CHAR_DEL_CHAR_REQ, 0, 0, 0); WriteHelper.Write(CharDelCharReq); WriteHelper.EndWrite(); m_ClientConnector.SendData(m_ClientConnector.GetWriteBuffer()->GetData(), m_ClientConnector.GetWriteBuffer()->GetDataLenth()); return TRUE; }
BOOL CClientCmdHandler::OnCmdEnterGameAck( UINT16 wCommandID, UINT64 u64ConnID, CBufferHelper *pBufferHelper ) { StCharEnterGameAck CharEnterGameAck; pBufferHelper->Read(CharEnterGameAck); m_HostPlayer.ReadFromBuffer(pBufferHelper); CHECK_PAYER_ID(m_HostPlayer.GetObjectID()); m_HostPlayer.m_ObjectStatus.nDir = rand()%4+1; g_EnterCount++; printf("%s己成功进入游戏服,总人数:%d\n",m_strRoleName.c_str(), g_EnterCount); m_dwHostState = ST_EnterGame; return TRUE; }
BOOL CClientCmdHandler::SendPickCharReq( UINT64 u64CharID ) { StCharPickCharReq CharPickCharReq; CharPickCharReq.u64CharID = u64CharID; CBufferHelper WriteHelper(TRUE, m_ClientConnector.GetWriteBuffer()); CHECK_PAYER_ID(u64CharID); WriteHelper.BeginWrite(CMD_CHAR_PICK_CHAR_REQ, 0, 0, 0); WriteHelper.Write(CharPickCharReq); WriteHelper.EndWrite(); m_ClientConnector.SendData(m_ClientConnector.GetWriteBuffer()->GetData(), m_ClientConnector.GetWriteBuffer()->GetDataLenth()); return TRUE; }
BOOL CClientCmdHandler::OnCmdEnterGameAck( UINT16 wCommandID, UINT64 u64ConnID, CBufferHelper *pBufferHelper ) { StCharEnterGameAck CharEnterGameAck; pBufferHelper->Read(CharEnterGameAck); m_HostPlayer.ReadFromBuffer(pBufferHelper); CHECK_PAYER_ID(m_HostPlayer.GetObjectID()); printf("登录成功!"); m_bLoginOK = TRUE; ((CTestClientDlg*)AfxGetMainWnd())->m_SceneView.Invalidate(); ((CTestClientDlg*)AfxGetMainWnd())->SetWindowText((LPCTSTR)m_HostPlayer.m_szObjectName); return TRUE; }
BOOL CClientCmdHandler::SendMoveReq( FLOAT x, FLOAT y, FLOAT z, UINT16 nDir) { StCharMoveReq _MoveGs; _MoveGs.x = x; _MoveGs.y = y; _MoveGs.z = z; _MoveGs.sDir = nDir; CBufferHelper WriteHelper(TRUE, m_ClientConnector.GetWriteBuffer()); WriteHelper.BeginWrite(CMD_CHAR_MOVE_REQ, CMDH_SENCE, 12, m_HostPlayer.GetObjectID()); WriteHelper.Write(_MoveGs); WriteHelper.EndWrite(); CHECK_PAYER_ID(m_HostPlayer.GetObjectID()); m_ClientConnector.SendData(m_ClientConnector.GetWriteBuffer()->GetData(), m_ClientConnector.GetWriteBuffer()->GetDataLenth()); return TRUE; }