From a1611f5f7a81443d86326bea21aa32967f18de7a Mon Sep 17 00:00:00 2001 From: XtraCube <72575280+XtraCube@users.noreply.github.com> Date: Sun, 7 Sep 2025 16:34:57 -0400 Subject: [PATCH] fix merge errors --- MiraAPI/Hud/CustomActionButton.cs | 3 ++- .../Attributes/LocalEnumSettingAttribute.cs | 5 ++++- .../Attributes/LocalNumberSettingAttribute.cs | 5 ++++- .../Attributes/LocalSliderSettingAttribute.cs | 5 ++++- .../Attributes/LocalToggleSettingAttribute.cs | 5 ++++- MiraAPI/MiraApiSettings.cs | 6 ++++++ MiraAPI/Patches/HudManagerPatches.cs | 3 ++- .../Patches/Keybinds/ControlMapperPatches.cs | 3 ++- MiraAPI/Utilities/Assets/MiraAssets.cs | 2 +- MiraAPI/Utilities/Helpers.cs | 19 ------------------- 10 files changed, 29 insertions(+), 27 deletions(-) diff --git a/MiraAPI/Hud/CustomActionButton.cs b/MiraAPI/Hud/CustomActionButton.cs index ca7dd6a..b7d4085 100644 --- a/MiraAPI/Hud/CustomActionButton.cs +++ b/MiraAPI/Hud/CustomActionButton.cs @@ -3,6 +3,7 @@ using System.Globalization; using MiraAPI.Events; using MiraAPI.Events.Mira; using MiraAPI.Keybinds; +using MiraAPI.LocalSettings; using MiraAPI.Patches; using MiraAPI.Utilities; using MiraAPI.Utilities.Assets; @@ -493,7 +494,7 @@ public abstract class CustomActionButton { KeybindText.text = Keybind.CurrentKey.ToString(); KeybindIcon?.SetActive(ActiveInputManager.currentControlType == ActiveInputManager.InputType.Keyboard && - PluginSingleton.Instance.MiraConfig!.ShowKeybinds.Value); + LocalSettingsTabSingleton.Instance.ShowKeybinds.Value); } if (Timer >= 0) diff --git a/MiraAPI/LocalSettings/Attributes/LocalEnumSettingAttribute.cs b/MiraAPI/LocalSettings/Attributes/LocalEnumSettingAttribute.cs index a4a22e2..24ea47f 100644 --- a/MiraAPI/LocalSettings/Attributes/LocalEnumSettingAttribute.cs +++ b/MiraAPI/LocalSettings/Attributes/LocalEnumSettingAttribute.cs @@ -16,9 +16,12 @@ public class LocalEnumSettingAttribute( string[]? names = null ) : LocalSettingAttribute(name, description) { + private readonly string? _name = name; + private readonly string? _description = description; + /// internal override LocalEnumSetting CreateSetting(Type tab, ConfigEntryBase configEntryBase) { - return new LocalEnumSetting(tab, configEntryBase, configEntryBase.SettingType, name, description, names); + return new LocalEnumSetting(tab, configEntryBase, configEntryBase.SettingType, _name, _description, names); } } diff --git a/MiraAPI/LocalSettings/Attributes/LocalNumberSettingAttribute.cs b/MiraAPI/LocalSettings/Attributes/LocalNumberSettingAttribute.cs index febd711..3008755 100644 --- a/MiraAPI/LocalSettings/Attributes/LocalNumberSettingAttribute.cs +++ b/MiraAPI/LocalSettings/Attributes/LocalNumberSettingAttribute.cs @@ -25,9 +25,12 @@ public class LocalNumberSettingAttribute( string? formatString = null ) : LocalSettingAttribute(name, description) { + private readonly string? _name = name; + private readonly string? _description = description; + /// internal override LocalNumberSetting CreateSetting(Type tab, ConfigEntryBase configEntryBase) { - return new LocalNumberSetting(tab, configEntryBase, name, description, new FloatRange(min, max), increment, suffixType, formatString); + return new LocalNumberSetting(tab, configEntryBase, _name, _description, new FloatRange(min, max), increment, suffixType, formatString); } } diff --git a/MiraAPI/LocalSettings/Attributes/LocalSliderSettingAttribute.cs b/MiraAPI/LocalSettings/Attributes/LocalSliderSettingAttribute.cs index 4a211d5..2db56b4 100644 --- a/MiraAPI/LocalSettings/Attributes/LocalSliderSettingAttribute.cs +++ b/MiraAPI/LocalSettings/Attributes/LocalSliderSettingAttribute.cs @@ -25,9 +25,12 @@ public class LocalSliderSettingAttribute( MiraNumberSuffixes suffixType = MiraNumberSuffixes.None ) : LocalSettingAttribute(name, description) { + private readonly string? _name = name; + private readonly string? _description = description; + /// internal override LocalSliderSetting CreateSetting(Type tab, ConfigEntryBase configEntryBase) { - return new LocalSliderSetting(tab, configEntryBase, name, description, new FloatRange(min, max), displayValue, suffixType, formatString, roundValue); + return new LocalSliderSetting(tab, configEntryBase, _name, _description, new FloatRange(min, max), displayValue, suffixType, formatString, roundValue); } } diff --git a/MiraAPI/LocalSettings/Attributes/LocalToggleSettingAttribute.cs b/MiraAPI/LocalSettings/Attributes/LocalToggleSettingAttribute.cs index 31c9b09..022fb38 100644 --- a/MiraAPI/LocalSettings/Attributes/LocalToggleSettingAttribute.cs +++ b/MiraAPI/LocalSettings/Attributes/LocalToggleSettingAttribute.cs @@ -14,9 +14,12 @@ public class LocalToggleSettingAttribute( string? description = null ) : LocalSettingAttribute(name, description) { + private readonly string? _name = name; + private readonly string? _description = description; + /// internal override LocalToggleSetting CreateSetting(Type tab, ConfigEntryBase configEntryBase) { - return new LocalToggleSetting(tab, configEntryBase, name, description); + return new LocalToggleSetting(tab, configEntryBase, _name, _description); } } diff --git a/MiraAPI/MiraApiSettings.cs b/MiraAPI/MiraApiSettings.cs index 3014411..55b5913 100644 --- a/MiraAPI/MiraApiSettings.cs +++ b/MiraAPI/MiraApiSettings.cs @@ -25,4 +25,10 @@ public class MiraApiSettings(ConfigFile config) : LocalSettingsTab(config) /// [LocalToggleSetting] public ConfigEntry ModifiersHudLeftSide { get; private set; } = config.Bind("Displays", "Show Modifiers HUD on Left Side", false); + + /// + /// Gets whether to show keybinds in the control mapper. + /// + [LocalToggleSetting] + public ConfigEntry ShowKeybinds { get; private set; } = config.Bind("Keybinds", "Show Keybinds in Control Mapper", true); } diff --git a/MiraAPI/Patches/HudManagerPatches.cs b/MiraAPI/Patches/HudManagerPatches.cs index b1ec33a..a06e170 100644 --- a/MiraAPI/Patches/HudManagerPatches.cs +++ b/MiraAPI/Patches/HudManagerPatches.cs @@ -3,6 +3,7 @@ using System.Linq; using HarmonyLib; using MiraAPI.Hud; using MiraAPI.Keybinds; +using MiraAPI.LocalSettings; using MiraAPI.Utilities; using Reactor.Utilities; using Reactor.Utilities.Extensions; @@ -165,7 +166,7 @@ public static class HudManagerPatches { btnIcon.Key.text = KeybindUtils.GetKeycodeByActionId(btnIcon.Value).ToString(); btnIcon.Key.transform.parent.gameObject.SetActive(ActiveInputManager.currentControlType == ActiveInputManager.InputType.Keyboard && - PluginSingleton.Instance.MiraConfig!.ShowKeybinds.Value); + LocalSettingsTabSingleton.Instance.ShowKeybinds.Value); } foreach (var entry in KeybindManager.Keybinds) diff --git a/MiraAPI/Patches/Keybinds/ControlMapperPatches.cs b/MiraAPI/Patches/Keybinds/ControlMapperPatches.cs index 4a5fe90..ae46734 100644 --- a/MiraAPI/Patches/Keybinds/ControlMapperPatches.cs +++ b/MiraAPI/Patches/Keybinds/ControlMapperPatches.cs @@ -1,6 +1,7 @@ using System.Linq; using HarmonyLib; using MiraAPI.Keybinds; +using MiraAPI.LocalSettings; using Reactor.Utilities; using Reactor.Utilities.Extensions; using Rewired.UI.ControlMapper; @@ -26,7 +27,7 @@ public static class ControlMapperPatches var toggle = Object.Instantiate(doneButton, doneButton.transform.parent); var text = toggle.GetComponentInChildren(); - var entry = PluginSingleton.Instance!.MiraConfig!.ShowKeybinds; + var entry = LocalSettingsTabSingleton.Instance.ShowKeybinds; toggle.gameObject.name = "KeybindsVisibleToggle"; text.text = $"Show Keybinds: {(entry.Value ? "On" : "Off")}"; toggle.onClick.RemoveAllListeners(); diff --git a/MiraAPI/Utilities/Assets/MiraAssets.cs b/MiraAPI/Utilities/Assets/MiraAssets.cs index ddbf354..1e39c28 100644 --- a/MiraAPI/Utilities/Assets/MiraAssets.cs +++ b/MiraAPI/Utilities/Assets/MiraAssets.cs @@ -69,7 +69,7 @@ public static class MiraAssets /// Gets the Next Button sprite. /// public static LoadableResourceAsset NextButton { get; } = new("MiraAPI.Resources.NextButton.png"); - + /// /// Gets the Mira settings icon.. /// diff --git a/MiraAPI/Utilities/Helpers.cs b/MiraAPI/Utilities/Helpers.cs index 6a00751..416cd28 100644 --- a/MiraAPI/Utilities/Helpers.cs +++ b/MiraAPI/Utilities/Helpers.cs @@ -476,25 +476,6 @@ public static class Helpers .Select(s => s[UnityEngine.Random.RandomRangeInt(0, s.Length)]).ToArray()); } - /// - /// Finds and returns an unused KeyCode that is not equal to the excluded key. - /// - /// The KeyCode to skip during the search. - /// - /// The first available KeyCode not currently used by any registered keybind, - /// or KeyCode.None if none are available. - /// - public static KeyboardKeyCode FindAvailableKey(KeyboardKeyCode exclude) - { - foreach (KeyboardKeyCode key in Enum.GetValues(typeof(KeyboardKeyCode))) - { - if (key == exclude) continue; - bool used = KeybindManager.GetEntries().Exists(e => e.Key == key); - if (!used) return key; - } - return KeyboardKeyCode.None; - } - /// /// Returns the formated value using the specified suffix and format string. ///