using PacketLib; namespace FNAF_Server; public class CommandProcessor { public static void Evaluate(PlayerCommand[] commands, int pid) { ServerPlayer currentPlayer = Server.Players[pid]; foreach (var playerCommand in commands){ switch (playerCommand.ID){ case 0: Console.WriteLine($"C: Player {pid} switched to camera {playerCommand.Args[0]}-{playerCommand.Args[1]}"); Server.SendUpdateToAll([GameEvent.SWITCH_CAM(pid, playerCommand.Args[0], playerCommand.Args[1])]); break; case 1: bool monitorState = !currentPlayer.state.monitorUp; currentPlayer.state.monitorUp = monitorState; Console.WriteLine($"C: Player {pid} toggled camera {(monitorState ? "on" : "off")}"); Server.SendUpdateToAll([GameEvent.TOGGLE_MONITOR(pid, monitorState)]); break; case 2: bool doorState = !currentPlayer.state.doorStates[playerCommand.Args[0]]; currentPlayer.state.doorStates[playerCommand.Args[0]] = doorState; Console.WriteLine($" Player {pid} {(doorState ? "closed" : "opened")} door {playerCommand.Args[0]}"); Server.SendUpdateToAll([GameEvent.TOGGLE_DOOR_OFFICE(pid,playerCommand.Args[0] ,doorState)]); break; } } } }