2025-12-19 17:54:50 +01:00
|
|
|
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 = [
|
2026-01-25 11:16:54 +01:00
|
|
|
("Toggle Camera", Keys.S, ToggleCamera),
|
|
|
|
|
("Toggle left door", Keys.D1, ToggleDoorLeft),
|
|
|
|
|
("Toggle centre door", Keys.D2, ToggleDoorCentre),
|
|
|
|
|
("Toggle right door", Keys.D3, ToggleDoorRight)
|
|
|
|
|
|
2025-12-19 17:54:50 +01:00
|
|
|
];
|
|
|
|
|
|
|
|
|
|
private static InputListenerHook toggleCamHook = new(true);
|
|
|
|
|
|
|
|
|
|
public static void InitInputListeners() {
|
2026-01-15 19:56:50 +01:00
|
|
|
Array.ForEach(keybinds, tuple => InputManager.AddListener(tuple.label, tuple.key, () => tuple.action(), InputTiming.PRESS, toggleCamHook));
|
2025-12-19 17:54:50 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static void ToggleCamera() {
|
|
|
|
|
Client.SendCommands([PlayerCommand.TOGGLE_MONITOR()]);
|
|
|
|
|
}
|
2026-01-25 11:16:54 +01:00
|
|
|
|
|
|
|
|
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)]);
|
|
|
|
|
}
|
2025-12-19 17:54:50 +01:00
|
|
|
}
|