From e5aa565eb2be38b13a222d69a2830657d238fc81 Mon Sep 17 00:00:00 2001 From: rfi Date: Sun, 3 Dec 2023 17:44:40 +0700 Subject: [PATCH] equip lock --- AscNet.GameServer/Handlers/EquipModule.cs | 32 +++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/AscNet.GameServer/Handlers/EquipModule.cs b/AscNet.GameServer/Handlers/EquipModule.cs index be3c6c7..2625eda 100644 --- a/AscNet.GameServer/Handlers/EquipModule.cs +++ b/AscNet.GameServer/Handlers/EquipModule.cs @@ -9,6 +9,19 @@ namespace AscNet.GameServer.Handlers { #region MsgPackScheme #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. + [MessagePackObject(true)] + public class EquipUpdateLockRequest + { + public int EquipId; + public bool IsLock; + } + + [MessagePackObject(true)] + public class EquipUpdateLockResponse + { + public int Code; + } + [MessagePackObject(true)] public class EquipLevelUpRequest { @@ -70,5 +83,24 @@ namespace AscNet.GameServer.Handlers session.SendResponse(rsp, packet.Id); } + + [RequestPacketHandler("EquipUpdateLockRequest")] + public static void EquipUpdateLockRequestHandler(Session session, Packet.Request packet) + { + EquipUpdateLockRequest request = packet.Deserialize(); + var response = new EquipUpdateLockResponse(); + var equip = session.character.Equips.Find(x => x.Id == request.EquipId); + if (equip is null) + { + // EquipManagerGetCharEquipBySiteNotFound + response.Code = 20021012; + } + else + { + equip.IsLock = request.IsLock; + } + + session.SendResponse(response, packet.Id); + } } }