first commit

This commit is contained in:
2025-07-06 00:23:46 +02:00
commit 38f50c8819
1788 changed files with 112878 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
using System.Collections.Generic;
using System.Linq;
using NitroxClient.MonoBehaviours.Gui.Input.KeyBindings;
using NitroxClient.MonoBehaviours.Gui.Input.KeyBindings.Actions;
using NitroxClient.Serialization;
using NitroxModel.Helper;
namespace NitroxClient.MonoBehaviours.Gui.Input
{
public class KeyBindingManager
{
public List<KeyBinding> KeyboardKeyBindings { get; }
public KeyBindingManager()
{
ClientConfig cfg = ClientConfig.Load(NitroxUser.AppDataPath);
KeyboardKeyBindings = new List<KeyBinding>
{
// new bindings should not be set to a value equivalent to a pre-existing GameInput.Button enum or another custom binding
new((int)KeyBindingValues.CHAT, "Chat", GameInput.Device.Keyboard, new ChatKeyBindingAction(), cfg.OpenChatKeybindPrimary, cfg.OpenChatKeybindSecondary),
new((int)KeyBindingValues.FOCUS_DISCORD, "Focus Discord (Alt +)", GameInput.Device.Keyboard, new DiscordFocusBindingAction(), cfg.FocusDiscordKeybindPrimary, cfg.FocusDiscordKeybindSecondary),
};
}
// Returns highest custom key binding value. If no custom key bindings, returns 0.
public int GetHighestKeyBindingValue()
{
return KeyboardKeyBindings.Select(keyBinding => (int)keyBinding.Button).DefaultIfEmpty(0).Max();
}
}
/// <summary>
/// Refers the keybinding values used for button creation in the options menu, to a more clear form
/// </summary>
public enum KeyBindingValues
{
CHAT = 45,
FOCUS_DISCORD = 46
}
}