Files
Nitrox/NitroxPatcher/Patches/Dynamic/Player_Update_Patch.cs
2025-07-06 00:23:46 +02:00

30 lines
909 B
C#

using System.Reflection;
using NitroxClient.MonoBehaviours.Gui.Input;
using NitroxClient.MonoBehaviours.Gui.Input.KeyBindings;
using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
public sealed partial class Player_Update_Patch : NitroxPatch, IDynamicPatch
{
private static readonly MethodInfo TARGET_METHOD = Reflect.Method((Player t) => t.Update());
public static void Postfix(Player __instance)
{
// TODO: Use proper way to check if input is free, because players can be editing labels etc.
if (DevConsole.instance.state)
{
return;
}
KeyBindingManager keyBindingManager = new();
foreach (KeyBinding keyBinding in keyBindingManager.KeyboardKeyBindings)
{
if (GameInput.GetButtonDown(keyBinding.Button))
{
keyBinding.Action.Execute();
}
}
}
}