From 18c52e01385a0706a122079f7238d1a52d6a718d Mon Sep 17 00:00:00 2001 From: Atony <75191600+AtonyGit@users.noreply.github.com> Date: Sat, 20 Sep 2025 22:17:51 -0500 Subject: [PATCH] Expose certain local option overrides and tabs --- .../LocalSettings/Attributes/LocalEnumSettingAttribute.cs | 2 +- .../Attributes/LocalNumberSettingAttribute.cs | 2 +- MiraAPI/LocalSettings/Attributes/LocalSettingAttribute.cs | 2 +- .../Attributes/LocalSliderSettingAttribute.cs | 2 +- .../Attributes/LocalToggleSettingAttribute.cs | 2 +- MiraAPI/LocalSettings/SettingTypes/LocalSettingBase.cs | 5 ++++- MiraAPI/Patches/HudManagerPatches.cs | 8 +++----- MiraAPI/Patches/LocalSettings/ToggleBehaviourPatch.cs | 2 +- MiraAPI/Patches/Roles/HowToPlayPatch.cs | 2 +- 9 files changed, 14 insertions(+), 13 deletions(-) diff --git a/MiraAPI/LocalSettings/Attributes/LocalEnumSettingAttribute.cs b/MiraAPI/LocalSettings/Attributes/LocalEnumSettingAttribute.cs index 24ea47f..f114818 100644 --- a/MiraAPI/LocalSettings/Attributes/LocalEnumSettingAttribute.cs +++ b/MiraAPI/LocalSettings/Attributes/LocalEnumSettingAttribute.cs @@ -20,7 +20,7 @@ public class LocalEnumSettingAttribute( private readonly string? _description = description; /// - internal override LocalEnumSetting CreateSetting(Type tab, ConfigEntryBase configEntryBase) + public override LocalEnumSetting CreateSetting(Type tab, ConfigEntryBase configEntryBase) { 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 3008755..79d4cc7 100644 --- a/MiraAPI/LocalSettings/Attributes/LocalNumberSettingAttribute.cs +++ b/MiraAPI/LocalSettings/Attributes/LocalNumberSettingAttribute.cs @@ -29,7 +29,7 @@ public class LocalNumberSettingAttribute( private readonly string? _description = description; /// - internal override LocalNumberSetting CreateSetting(Type tab, ConfigEntryBase configEntryBase) + public override LocalNumberSetting CreateSetting(Type tab, ConfigEntryBase configEntryBase) { return new LocalNumberSetting(tab, configEntryBase, _name, _description, new FloatRange(min, max), increment, suffixType, formatString); } diff --git a/MiraAPI/LocalSettings/Attributes/LocalSettingAttribute.cs b/MiraAPI/LocalSettings/Attributes/LocalSettingAttribute.cs index 86dfbc9..d966cbb 100644 --- a/MiraAPI/LocalSettings/Attributes/LocalSettingAttribute.cs +++ b/MiraAPI/LocalSettings/Attributes/LocalSettingAttribute.cs @@ -20,5 +20,5 @@ public abstract class LocalSettingAttribute( /// Gets the tab where the setting is located. /// Gets the config entry the setting is attached to. /// The created class. - internal abstract ILocalSetting CreateSetting(Type tab, ConfigEntryBase configEntryBase); + public abstract ILocalSetting CreateSetting(Type tab, ConfigEntryBase configEntryBase); } diff --git a/MiraAPI/LocalSettings/Attributes/LocalSliderSettingAttribute.cs b/MiraAPI/LocalSettings/Attributes/LocalSliderSettingAttribute.cs index 2db56b4..c8e5712 100644 --- a/MiraAPI/LocalSettings/Attributes/LocalSliderSettingAttribute.cs +++ b/MiraAPI/LocalSettings/Attributes/LocalSliderSettingAttribute.cs @@ -29,7 +29,7 @@ public class LocalSliderSettingAttribute( private readonly string? _description = description; /// - internal override LocalSliderSetting CreateSetting(Type tab, ConfigEntryBase configEntryBase) + public override LocalSliderSetting CreateSetting(Type tab, ConfigEntryBase configEntryBase) { 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 022fb38..2d2aa14 100644 --- a/MiraAPI/LocalSettings/Attributes/LocalToggleSettingAttribute.cs +++ b/MiraAPI/LocalSettings/Attributes/LocalToggleSettingAttribute.cs @@ -18,7 +18,7 @@ public class LocalToggleSettingAttribute( private readonly string? _description = description; /// - internal override LocalToggleSetting CreateSetting(Type tab, ConfigEntryBase configEntryBase) + public override LocalToggleSetting CreateSetting(Type tab, ConfigEntryBase configEntryBase) { return new LocalToggleSetting(tab, configEntryBase, _name, _description); } diff --git a/MiraAPI/LocalSettings/SettingTypes/LocalSettingBase.cs b/MiraAPI/LocalSettings/SettingTypes/LocalSettingBase.cs index 629cd45..c25f04e 100644 --- a/MiraAPI/LocalSettings/SettingTypes/LocalSettingBase.cs +++ b/MiraAPI/LocalSettings/SettingTypes/LocalSettingBase.cs @@ -20,7 +20,10 @@ public abstract class LocalSettingBase : ILocalSetting /// public ConfigEntryBase ConfigEntry { get; } - internal LocalSettingsTab? Tab => LocalSettingsManager.Tabs.FirstOrDefault(x => x.Settings.Contains(this)); + /// + /// Gets the tab of the local setting. + /// + public LocalSettingsTab? Tab => LocalSettingsManager.Tabs.FirstOrDefault(x => x.Settings.Contains(this)); /// /// Initializes a new instance of the class. diff --git a/MiraAPI/Patches/HudManagerPatches.cs b/MiraAPI/Patches/HudManagerPatches.cs index 54e7fae..e8c13ac 100644 --- a/MiraAPI/Patches/HudManagerPatches.cs +++ b/MiraAPI/Patches/HudManagerPatches.cs @@ -182,12 +182,10 @@ public static class HudManagerPatches entry.Invoke(); } } - foreach (var entry in KeybindManager.VanillaKeybinds.Values) + + foreach (var entry in KeybindManager.VanillaKeybinds.Values.Where(x => player.GetButtonDown(x.Id))) { - if (player.GetButtonDown(entry.Id)) - { - entry.Invoke(); - } + entry.Invoke(); } } } diff --git a/MiraAPI/Patches/LocalSettings/ToggleBehaviourPatch.cs b/MiraAPI/Patches/LocalSettings/ToggleBehaviourPatch.cs index 9a8321d..ffbfdea 100644 --- a/MiraAPI/Patches/LocalSettings/ToggleBehaviourPatch.cs +++ b/MiraAPI/Patches/LocalSettings/ToggleBehaviourPatch.cs @@ -8,7 +8,7 @@ public static class ToggleBehaviourPatch { /// /// ResetText was inlined ofc. - /// Skill issue + /// Skill issue. /// [HarmonyPrefix] [HarmonyPatch(nameof(ToggleButtonBehaviour.UpdateText))] diff --git a/MiraAPI/Patches/Roles/HowToPlayPatch.cs b/MiraAPI/Patches/Roles/HowToPlayPatch.cs index c080ea0..9e5ad24 100644 --- a/MiraAPI/Patches/Roles/HowToPlayPatch.cs +++ b/MiraAPI/Patches/Roles/HowToPlayPatch.cs @@ -46,4 +46,4 @@ internal static class HowToPlayPatch __instance.roleSelectionScene.SetActive(true); ControllerManager.Instance.SetDefaultSelection(__instance.defaultButtonSelected, null); } -} \ No newline at end of file +}