diff --git a/GameServer/Server/Packet/Recv/EraFlipperData/HandlerChangeEraFlipperDataCsReq.cs b/GameServer/Server/Packet/Recv/EraFlipperData/HandlerChangeEraFlipperDataCsReq.cs new file mode 100644 index 00000000..4d0cd86d --- /dev/null +++ b/GameServer/Server/Packet/Recv/EraFlipperData/HandlerChangeEraFlipperDataCsReq.cs @@ -0,0 +1,19 @@ +using EggLink.DanhengServer.GameServer.Server.Packet.Send.EraFlipperData; +using EggLink.DanhengServer.Proto; +using EggLink.DanhengServer.Kcp; +using NetTaste; + +namespace EggLink.DanhengServer.GameServer.Server.Packet.Recv.EraFlipperData; + +[Opcode(CmdIds.ChangeEraFlipperDataCsReq)] +public class HandlerChangeEraFlipperDataCsReq : Handler +{ + public override async Task OnHandle(Connection connection, byte[] header, byte[] data) + { + var req = ChangeEraFlipperDataCsReq.Parser.ParseFrom(data); + + int floorId = connection.Player!.SceneInstance!.FloorId; + await connection.SendPacket(new PacketChangeEraFlipperDataScRsp(req)); + await connection.SendPacket(new PacketEraFlipperDataChangeScNotify(req, floorId)); + } +} diff --git a/GameServer/Server/Packet/Recv/EraFlipperData/HandlerGetEraFlipperDataCsReq.cs b/GameServer/Server/Packet/Recv/EraFlipperData/HandlerGetEraFlipperDataCsReq.cs new file mode 100644 index 00000000..c88d6729 --- /dev/null +++ b/GameServer/Server/Packet/Recv/EraFlipperData/HandlerGetEraFlipperDataCsReq.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using EggLink.DanhengServer.GameServer.Server.Packet.Send.EraFlipperData; +using EggLink.DanhengServer.Proto; +using EggLink.DanhengServer.Kcp; + +namespace EggLink.DanhengServer.GameServer.Server.Packet.Recv.EraFlipperData; + +[Opcode(CmdIds.GetEraFlipperDataCsReq)] +public class HandlerGetEraFlipperDataCsReq : Handler +{ + public override async Task OnHandle(Connection connection, byte[] header, byte[] data) + { + var req = GetEraFlipperDataCsReq.Parser.ParseFrom(data); + + await connection.SendPacket(new PacketGetEraFlipperDataScRsp(connection.Player!)); + } +} diff --git a/GameServer/Server/Packet/Send/EraFlipperData/PacketChangeEraFlipperDataScRsp.cs b/GameServer/Server/Packet/Send/EraFlipperData/PacketChangeEraFlipperDataScRsp.cs new file mode 100644 index 00000000..359d917d --- /dev/null +++ b/GameServer/Server/Packet/Send/EraFlipperData/PacketChangeEraFlipperDataScRsp.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using EggLink.DanhengServer.Kcp; +using EggLink.DanhengServer.Proto; + +namespace EggLink.DanhengServer.GameServer.Server.Packet.Send.EraFlipperData; +public class PacketChangeEraFlipperDataScRsp : BasePacket +{ + public PacketChangeEraFlipperDataScRsp(ChangeEraFlipperDataCsReq req) : base(CmdIds.ChangeEraFlipperDataScRsp) + { + var proto = new ChangeEraFlipperDataScRsp + { + Data = req.Data + }; + + SetData(proto); + } +} diff --git a/GameServer/Server/Packet/Send/EraFlipperData/PacketEraFlipperDataChangeScNotify.cs b/GameServer/Server/Packet/Send/EraFlipperData/PacketEraFlipperDataChangeScNotify.cs new file mode 100644 index 00000000..5f0e5f6f --- /dev/null +++ b/GameServer/Server/Packet/Send/EraFlipperData/PacketEraFlipperDataChangeScNotify.cs @@ -0,0 +1,17 @@ +using EggLink.DanhengServer.Kcp; +using EggLink.DanhengServer.Proto; + +namespace EggLink.DanhengServer.GameServer.Server.Packet.Send.EraFlipperData; +public class PacketEraFlipperDataChangeScNotify : BasePacket +{ + public PacketEraFlipperDataChangeScNotify(ChangeEraFlipperDataCsReq req, int floorId) : base(CmdIds.EraFlipperDataChangeScNotify) + { + var proto = new EraFlipperDataChangeScNotify + { + Data = req.Data, + FloorId = (uint)floorId + }; + + SetData(proto); + } +} diff --git a/GameServer/Server/Packet/Send/EraFlipperData/PacketGetEraFlipperDataScRsp.cs b/GameServer/Server/Packet/Send/EraFlipperData/PacketGetEraFlipperDataScRsp.cs new file mode 100644 index 00000000..6184b683 --- /dev/null +++ b/GameServer/Server/Packet/Send/EraFlipperData/PacketGetEraFlipperDataScRsp.cs @@ -0,0 +1,19 @@ +using EggLink.DanhengServer.GameServer.Game.Player; +using EggLink.DanhengServer.Kcp; +using EggLink.DanhengServer.Proto; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EggLink.DanhengServer.GameServer.Server.Packet.Send.EraFlipperData; +public class PacketGetEraFlipperDataScRsp : BasePacket +{ + public PacketGetEraFlipperDataScRsp(PlayerInstance player) : base(CmdIds.GetEraFlipperDataScRsp) + { + var proto = new GetEraFlipperDataScRsp(); + + SetData(proto); + } +}