📄 handler_cg_guild.cpp
字号:
#include "StdAfx.h"
#include ".\handler_cg_guild.h"
#include <PacketStruct_CG.h>
#include "GameGuildManager.h"
#include "GameGuild.h"
#include "PlayerManager.h"
#include "Player.h"
Handler_CG_GUILD_IMPL( CG_GUILD_SELECT_SYN )
{
MSG_CG_GUILD_SELECT_SYN * pMsg = (MSG_CG_GUILD_SELECT_SYN *)pRecvMsg;
Player * pPlayer = PlayerManager::Instance()->FindPlayer( pMsg->m_dwKey );
ASSERT( pPlayer );
if( !pPlayer ) return ;
if( !pPlayer->GetField() ) return;
MSG_CG_GUILD_SELECT_ACK msg;
RC::eGUILD_RESULT rt = g_GameGuildManager.SelectGuildInfo( pPlayer, msg.m_GuildInfo );
switch(rt)
{
case RC::RC_GUILD_SUCCESS:
{
pPlayer->SendPacket(&msg,sizeof(msg));
}break;
case RC::RC_GUILD_NEED_SELECT:
{
// to do nothing
}break;
default:
{
MSG_CG_GUILD_SELECT_NAK nmsg;
nmsg.m_byErrorCode = rt;
pPlayer->SendPacket(&nmsg,sizeof(nmsg));
}
}
}
Handler_CG_GUILD_IMPL( CG_GUILD_CREATE_SYN )
{
MSG_CG_GUILD_CREATE_SYN * pMsg = (MSG_CG_GUILD_CREATE_SYN *)pRecvMsg;
Player * pPlayer = PlayerManager::Instance()->FindPlayer( pMsg->m_dwKey );
ASSERT( pPlayer );
if( !pPlayer ) return ;
if( !pPlayer->GetField() ) return;
RC::eGUILD_RESULT rt = g_GameGuildManager.CreateGuild( pPlayer, pMsg->m_tszGuildName );
if( rt != RC::RC_GUILD_SUCCESS )
{
MSG_CG_GUILD_CREATE_NAK nmsg;
nmsg.m_byErrorCode = rt;
pPlayer->SendPacket(&nmsg,sizeof(nmsg));
}
}
Handler_CG_GUILD_IMPL( CG_GUILD_DESTROY_SYN )
{
MSG_CG_GUILD_DESTROY_SYN * pMsg = (MSG_CG_GUILD_DESTROY_SYN *)pRecvMsg;
Player * pPlayer = PlayerManager::Instance()->FindPlayer( pMsg->m_dwKey );
ASSERT( pPlayer );
if( !pPlayer ) return ;
if( !pPlayer->GetField() ) return;
RC::eGUILD_RESULT rt = g_GameGuildManager.DestroyGuild( pPlayer );
if( rt != RC::RC_GUILD_SUCCESS )
{
MSG_CG_GUILD_DESTROY_NAK nmsg;
nmsg.m_byErrorCode = rt;
pPlayer->SendPacket(&nmsg,sizeof(nmsg));
}
}
Handler_CG_GUILD_IMPL( CG_GUILD_INVITE_SYN )
{
MSG_CG_GUILD_INVITE_SYN * pMsg = (MSG_CG_GUILD_INVITE_SYN *)pRecvMsg;
Player * pHostPlayer = PlayerManager::Instance()->FindPlayer( pMsg->m_dwKey );
ASSERT( pHostPlayer );
if( !pHostPlayer ) return ;
if( !pHostPlayer->GetField() ) return;
Player * pReceiver = PlayerManager::Instance()->FindPlayerForObjectKey( pMsg->m_PlayerKey );
if( !pReceiver )
{
MSG_CG_GUILD_INVITE_NAK nmsg;
nmsg.m_byErrorCode = RC::RC_GUILD_NOT_EXIST_TARGET_STATE;
pHostPlayer->SendPacket(&nmsg,sizeof(nmsg));
return;
}
RC::eGUILD_RESULT rt = g_GameGuildManager.InviteMember( pHostPlayer, pReceiver );
if( rt == RC::RC_GUILD_SUCCESS )
{
// 檬措罐绰 荤恩俊霸 檬措 皋技瘤 焊晨
MSG_CG_GUILD_INVITE_REQUEST_CMD msg;
msg.m_PlayerKey = pHostPlayer->GetObjectKey();
pReceiver->SendPacket( &msg, sizeof(msg) );
}
else
{
MSG_CG_GUILD_INVITE_NAK nmsg;
nmsg.m_byErrorCode = rt;
pHostPlayer->SendPacket(&nmsg,sizeof(nmsg));
}
}
Handler_CG_GUILD_IMPL( CG_GUILD_INVITE_ACCEPT_SYN )
{
MSG_CG_GUILD_INVITE_ACCEPT_SYN * pMsg = (MSG_CG_GUILD_INVITE_ACCEPT_SYN *)pRecvMsg;
Player * pReceiver = PlayerManager::Instance()->FindPlayer( pMsg->m_dwKey );
ASSERT( pReceiver );
if( !pReceiver ) return ;
if( !pReceiver->GetField() ) return;
PLAYERKEY InviterKey = pReceiver->GetInvitationHostKey();
Player * pHostPlayer = PlayerManager::Instance()->FindPlayerForObjectKey( InviterKey );
if( !pHostPlayer )
{
MSG_CG_GUILD_INVITE_ANSWER_NAK nmsg;
nmsg.m_byErrorCode = RC::RC_GUILD_NOT_EXIST_HOST_STATE;
pReceiver->SendPacket(&nmsg,sizeof(nmsg));
return;
}
RC::eGUILD_RESULT rt = g_GameGuildManager.AnswerMember( pHostPlayer, pReceiver, TRUE );
if( rt == RC::RC_GUILD_SUCCESS )
{
MSG_CG_GUILD_INVITE_ACCEP_ACK msg;
pHostPlayer->SendPacket( &msg, sizeof(msg) );
MSG_CG_GUILD_INVITE_ANSWER_ACK amsg;
pReceiver->SendPacket(&amsg,sizeof(amsg));
// 辨靛 啊涝 己傍/角菩绰 GuildServer肺 览翠捞 柯饶 搬沥等促!!!!!
}
else
{
MSG_CG_GUILD_INVITE_NAK msg;
pHostPlayer->SendPacket( &msg, sizeof(msg) );
MSG_CG_GUILD_INVITE_ANSWER_NAK nmsg;
nmsg.m_byErrorCode = rt;
pReceiver->SendPacket(&nmsg,sizeof(nmsg));
}
}
Handler_CG_GUILD_IMPL( CG_GUILD_INVITE_REJECT_SYN )
{
MSG_CG_GUILD_INVITE_REJECT_SYN * pMsg = (MSG_CG_GUILD_INVITE_REJECT_SYN *)pRecvMsg;
Player * pReceiver = PlayerManager::Instance()->FindPlayer( pMsg->m_dwKey );
ASSERT( pReceiver );
if( !pReceiver ) return ;
if( !pReceiver->GetField() ) return;
PLAYERKEY InviterKey = pReceiver->GetInvitationHostKey();
Player * pHostPlayer = PlayerManager::Instance()->FindPlayerForObjectKey( InviterKey );
if( !pHostPlayer )
{
MSG_CG_GUILD_INVITE_ANSWER_NAK nmsg;
nmsg.m_byErrorCode = RC::RC_GUILD_NOT_EXIST_HOST_STATE;
pReceiver->SendPacket(&nmsg,sizeof(nmsg));
return;
}
RC::eGUILD_RESULT rt = g_GameGuildManager.AnswerMember( pHostPlayer, pReceiver, FALSE );
if( rt == RC::RC_GUILD_SUCCESS )
{
MSG_CG_GUILD_INVITE_REJECT_ACK msg;
pHostPlayer->SendPacket( &msg, sizeof(msg) );
MSG_CG_GUILD_INVITE_ANSWER_ACK amsg;
pReceiver->SendPacket(&amsg,sizeof(amsg));
}
else
{
MSG_CG_GUILD_INVITE_NAK msg;
pHostPlayer->SendPacket( &msg, sizeof(msg) );
MSG_CG_GUILD_INVITE_ANSWER_NAK nmsg;
nmsg.m_byErrorCode = rt;
pReceiver->SendPacket(&nmsg,sizeof(nmsg));
}
}
Handler_CG_GUILD_IMPL( CG_GUILD_WITHDRAW_SYN )
{
MSG_CG_GUILD_WITHDRAW_SYN * pMsg = (MSG_CG_GUILD_WITHDRAW_SYN *)pRecvMsg;
Player * pPlayer = PlayerManager::Instance()->FindPlayer( pMsg->m_dwKey );
ASSERT( pPlayer );
if( !pPlayer ) return ;
if( !pPlayer->GetField() ) return;
RC::eGUILD_RESULT rt = g_GameGuildManager.WithdrawMember( pPlayer );
if( rt != RC::RC_GUILD_SUCCESS )
{
MSG_CG_GUILD_WITHDRAW_NAK nmsg;
nmsg.m_byErrorCode = rt;
pPlayer->SendPacket(&nmsg,sizeof(nmsg));
}
}
Handler_CG_GUILD_IMPL( CG_GUILD_TRANSFER_POSITION_SYN )
{
}
Handler_CG_GUILD_IMPL( CG_GUILD_GRANT_LOW_POSITION_SYN )
{
}
Handler_CG_GUILD_IMPL( CG_GUILD_DROP_LOW_POSITION_SYN )
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -