using MessagePack;
using Server.Core;

namespace NetWorkMessage
{
    [Server.Core.Message(MessageOpcode.GameClubKickOutPlayerRPCRequest)]
    [ResponseType(typeof(GameClubKickOutPlayerRPCResponse))]
    [MessagePackObject] 
    public class GameClubKickOutPlayerRPCRequest : MessageObject, IRequest
    {
        [Key(0)]public uint RpcId { get; set; }
        [Key(1)]public string Weiyima { get; set; }
        [Key(2)]public int UserId { get; set; }
        
        public static GameClubKickOutPlayerRPCRequest Create()
        {
            GameClubKickOutPlayerRPCRequest request = ReferencePool.Fetch<GameClubKickOutPlayerRPCRequest>();
            return request;
        }
    }

    [Server.Core.Message(MessageOpcode.GameClubKickOutPlayerRPCResponse)]
    [MessagePackObject]
    public class GameClubKickOutPlayerRPCResponse : MessageObject, IResponse
    {
        [Key(0)]public int Error { get; set; }
        [Key(1)]public string Message { get; set; }
        [Key(2)]public uint RpcId { get; set; }
    }

    [Message(MessageOpcode.GameClubDismissDeskRPCRequest)]
    [ResponseType(typeof(GameClubDismissDeskRPCResponse))]
    [MessagePackObject]
    public class GameClubDismissDeskRPCRequest : MessageObject, IRequest
    {
        [Key(0)] public uint RpcId { get; set; }
        [Key(1)]public string Weiyima { get; set; }
        
        public static GameClubDismissDeskRPCRequest Create()
        {
            GameClubDismissDeskRPCRequest request = ReferencePool.Fetch<GameClubDismissDeskRPCRequest>();
            return request;
        }
    }

    [Message(MessageOpcode.GameClubDismissDeskRPCResponse)]
    [MessagePackObject]
    public class GameClubDismissDeskRPCResponse : MessageObject, IResponse
    {
        [Key(0)] public int Error { get; set; }
        [Key(1)] public string Message { get; set; }
        [Key(2)] public uint RpcId { get; set; }
    }
}