using System; using System.Collections.Generic; using Microsoft.Xna.Framework.Input; using MonoGameLibrary.Input; using PacketLib; namespace FNAF_Clone; public class CommandManager { private static (string label, Keys key, Action action)[] keybinds = [ ("Toggle Camera", Keys.S, ToggleCamera), ("Toggle left door", Keys.D1, ToggleDoorLeft), ("Toggle centre door", Keys.D2, ToggleDoorCentre), ("Toggle right door", Keys.D3, ToggleDoorRight) ]; private static InputListenerHook toggleCamHook = new(true); public static void InitInputListeners() { Array.ForEach(keybinds, tuple => InputManager.AddListener(tuple.label, tuple.key, () => tuple.action(), InputTiming.PRESS, toggleCamHook)); } private static void ToggleCamera() { Client.SendCommands([PlayerCommand.TOGGLE_MONITOR()]); } private static void ToggleDoorLeft() => ToggleDoor(0); private static void ToggleDoorCentre() => ToggleDoor(1); private static void ToggleDoorRight() => ToggleDoor(2); private static void ToggleDoor(int id) { Client.SendCommands([PlayerCommand.TOGGLE_DOOR_OFFICE(id)]); } }