From af88026d6e5da7b8c136dad346882c4176e658c8 Mon Sep 17 00:00:00 2001 From: shangfengh <3495281661@qq.com> Date: Fri, 24 Mar 2023 01:20:16 +0800 Subject: [PATCH] build: :construction: finish the CopyInfo --- logic/Server/CopyInfo.cs | 47 +++++++++++++++++++++++++++++++--------- 1 file changed, 37 insertions(+), 10 deletions(-) diff --git a/logic/Server/CopyInfo.cs b/logic/Server/CopyInfo.cs index 0765668..a2b7698 100644 --- a/logic/Server/CopyInfo.cs +++ b/logic/Server/CopyInfo.cs @@ -173,9 +173,16 @@ namespace Server return PickedProp((PickedProp)gameObj); case Preparation.Utility.GameObjType.Generator: return Classroom((Generator)gameObj); - // case Preparation.Utility.GameObjType.Chest: + case Preparation.Utility.GameObjType.Chest: + return Chest((Chest)gameObj); case Preparation.Utility.GameObjType.Doorway: return Gate((Doorway)gameObj); + case Preparation.Utility.GameObjType.EmergencyExit: + if (((EmergencyExit)gameObj).CanOpen) + return HiddenGate((EmergencyExit)gameObj); + else return null; + case Preparation.Utility.GameObjType.Door: + return Door((Door)gameObj); default: return null; } } @@ -341,14 +348,34 @@ namespace Server msg.GateMessage.Progress = doorway.OpenDegree; return msg; } - /* private static MessageOfObj Chest(Chest chest) - { - MessageOfObj msg = new MessageOfObj(); - msg.ChestMessage = new(); - msg.ChestMessage.X=chest.Position.x; - msg.ChestMessage.Y=chest.Position.y; - // msg.ChestMessage.Progress=generator.DegreeOfRepair; - return msg; - }*/ + private static MessageOfObj HiddenGate(EmergencyExit Exit) + { + MessageOfObj msg = new MessageOfObj(); + msg.HiddenGateMessage = new(); + msg.HiddenGateMessage.X = Exit.Position.x; + msg.HiddenGateMessage.Y = Exit.Position.y; + msg.HiddenGateMessage.Opened = Exit.IsOpen; + return msg; + } + + private static MessageOfObj Door(Door door) + { + MessageOfObj msg = new MessageOfObj(); + msg.DoorMessage = new(); + msg.DoorMessage.X = door.Position.x; + msg.DoorMessage.Y = door.Position.y; + msg.DoorMessage.Progress = door.OpenOrLockDegree; + msg.DoorMessage.IsOpen = door.IsOpen; + return msg; + } + private static MessageOfObj Chest(Chest chest) + { + MessageOfObj msg = new MessageOfObj(); + msg.ChestMessage = new(); + msg.ChestMessage.X = chest.Position.x; + msg.ChestMessage.Y = chest.Position.y; + msg.ChestMessage.Progress = chest.OpenDegree; + return msg; + } } } \ No newline at end of file