Přidány sprity pro kancelář a monitor. Graficky viditelné zavírání a otevírání dveří, zapínání a vypínání monitoru. Podpora pouze pro specifická rozlišení.

This commit is contained in:
Perry 2026-01-26 09:39:17 +01:00
parent 952aae10de
commit 2cd215cc33
13 changed files with 202 additions and 41 deletions

View file

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using FNAF_Clone.GUI;
using Microsoft.Xna.Framework.Input;
using MonoGameLibrary.Input;
using PacketLib;
@ -8,10 +9,10 @@ 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)
("Toggle Camera", Keys.Space, SendToggleCamera),
("Toggle left door", Keys.A, ToggleDoorLeft),
("Toggle centre door", Keys.W, ToggleDoorCentre),
("Toggle right door", Keys.D, ToggleDoorRight)
];
@ -21,15 +22,19 @@ public class CommandManager {
Array.ForEach(keybinds, tuple => InputManager.AddListener(tuple.label, tuple.key, () => tuple.action(), InputTiming.PRESS, toggleCamHook));
}
private static void ToggleCamera() {
private static void SendToggleCamera() {
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 ToggleDoorLeft() => SendToggleDoor(0);
private static void ToggleDoorCentre() => SendToggleDoor(1);
private static void ToggleDoorRight() => SendToggleDoor(2);
private static void ToggleDoor(int id) {
private static void SendToggleDoor(int id) {
if (Screen.CurrentScreen.Label == UIManager.ScreenTypes.CAMERAS){
//TODO: camera doors
return;
}
Client.SendCommands([PlayerCommand.TOGGLE_DOOR_OFFICE(id)]);
}
}