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
+}