Files
caliverse_server/GameServer/MessageQueue/PacketHandler/ReqKickMQPacketHandler.cs
2025-05-01 07:20:41 +09:00

46 lines
1.3 KiB
C#

using Google.Protobuf;
using Google.Protobuf.WellKnownTypes;
using ServerCore;
using ServerBase;
using ServerCommon;
using ServerCommon.BusinessLogDomain;
using MetaAssets;
namespace GameServer.PacketHandler;
[PacketHandler("", typeof(ServerMessage.Types.KickReq), typeof(ReqKickMQPacketHandler), typeof(RabbitMQ4Game))]
public class ReqKickMQPacketHandler : PacketRecvHandler
{
public override async Task<Result> onProcessPacket(ISession session, IMessage recvMessage)
{
var msg = recvMessage as ServerMessage;
NullReferenceCheckHelper.throwIfNull(msg, () => $"msg is null !!!");
ServerMessage message = new ServerMessage();
message.KickRes = new ServerMessage.Types.KickRes();
message.KickRes.ReqId = msg.KickReq.ReqId;
var server_logic = GameServerApp.getServerLogic();
if (await server_logic.getPlayerManager().kickUserByUserGuid(msg.KickReq.Name) == true)
{
message.KickRes.ErrCode = ServerErrorCode.Success;
}
else
{
message.KickRes.ErrCode = ServerErrorCode.KickFail;
}
var owner = session as RabbitMQ4Game;
NullReferenceCheckHelper.throwIfNull(owner, () => $"owner is null !!!");
owner.SendMessage(msg.MessageSender, message);
return new();
}
}