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 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(); } }