From cc2fc93cc8511fb883cceb65ec7741b0402a5859 Mon Sep 17 00:00:00 2001 From: rfi Date: Sat, 2 Dec 2023 20:32:14 +0700 Subject: [PATCH] name, sign, and birth edit --- AscNet.GameServer/Handlers/PlayerModule.cs | 71 ++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/AscNet.GameServer/Handlers/PlayerModule.cs b/AscNet.GameServer/Handlers/PlayerModule.cs index ec40a07..525a14d 100644 --- a/AscNet.GameServer/Handlers/PlayerModule.cs +++ b/AscNet.GameServer/Handlers/PlayerModule.cs @@ -34,6 +34,48 @@ namespace AscNet.GameServer.Handlers { public long Id; } + + [MessagePackObject(true)] + public class ChangePlayerBirthdayRequest : Birthday + { + } + + [MessagePackObject(true)] + public class ChangePlayerBirthdayResponse + { + public int Code; + } + + [MessagePackObject(true)] + public class ChangePlayerSignRequest + { + public string Msg; + } + + [MessagePackObject(true)] + public class ChangePlayerSignResponse + { + public int Code; + } + + [MessagePackObject(true)] + public class NotifyPlayerName + { + public string Name; + } + + [MessagePackObject(true)] + public class ChangePlayerNameRequest + { + public string Name; + } + + [MessagePackObject(true)] + public class ChangePlayerNameResponse + { + public int Code; + public long NextCanChangeTime; + } #pragma warning restore CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. #endregion @@ -70,5 +112,34 @@ namespace AscNet.GameServer.Handlers session.SendResponse(new TouchBoardMutualResponse(), packet.Id); } + + [RequestPacketHandler("ChangePlayerNameRequest")] + public static void ChangePlayerNameRequestHandler(Session session, Packet.Request packet) + { + ChangePlayerNameRequest request = MessagePackSerializer.Deserialize(packet.Content); + session.player.PlayerData.Name = request.Name; + + NotifyPlayerName notifyPlayerName = new() { Name = session.player.PlayerData.Name }; + session.SendPush(notifyPlayerName); + session.SendResponse(new ChangePlayerNameResponse() { NextCanChangeTime = DateTimeOffset.Now.ToUnixTimeSeconds() }, packet.Id); + } + + [RequestPacketHandler("ChangePlayerSignRequest")] + public static void ChangePlayerSignRequestHandler(Session session, Packet.Request packet) + { + ChangePlayerSignRequest request = MessagePackSerializer.Deserialize(packet.Content); + session.player.PlayerData.Sign = request.Msg; + + session.SendResponse(new ChangePlayerSignResponse(), packet.Id); + } + + [RequestPacketHandler("ChangePlayerBirthdayRequest")] + public static void ChangePlayerBirthdayRequestHandler(Session session, Packet.Request packet) + { + ChangePlayerBirthdayRequest request = MessagePackSerializer.Deserialize(packet.Content); + session.player.PlayerData.Birthday = request; + + session.SendResponse(new ChangePlayerBirthdayResponse(), packet.Id); + } } }