30 lines
909 B
C#
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();
|
|
}
|
|
}
|
|
}
|
|
}
|