From 742ad44d10391c797164086989ceb44b541fbcc2 Mon Sep 17 00:00:00 2001
From: XtraCube <72575280+XtraCube@users.noreply.github.com>
Date: Tue, 20 Aug 2024 12:46:38 -0400
Subject: [PATCH] some more options error fixes
---
MiraAPI/GameModes/CustomGameModeManager.cs | 2 +-
MiraAPI/Patches/Options/GameOptionsMenuPatch.cs | 6 ++++--
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/MiraAPI/GameModes/CustomGameModeManager.cs b/MiraAPI/GameModes/CustomGameModeManager.cs
index bec9d84..9a5da49 100644
--- a/MiraAPI/GameModes/CustomGameModeManager.cs
+++ b/MiraAPI/GameModes/CustomGameModeManager.cs
@@ -24,7 +24,7 @@ public static class CustomGameModeManager
///
/// Current gamemode
///
- public static CustomGameMode? ActiveMode;
+ public static CustomGameMode? ActiveMode = new DefaultMode();
///
/// Set current gamemode
diff --git a/MiraAPI/Patches/Options/GameOptionsMenuPatch.cs b/MiraAPI/Patches/Options/GameOptionsMenuPatch.cs
index 580add3..f01a38c 100644
--- a/MiraAPI/Patches/Options/GameOptionsMenuPatch.cs
+++ b/MiraAPI/Patches/Options/GameOptionsMenuPatch.cs
@@ -23,7 +23,7 @@ public static class GameOptionsMenuPatch
float num = 2.1f;
- var filteredGroups = GameSettingMenuPatches.SelectedMod.OptionGroups.Where(x => x.AdvancedRole is null);
+ var filteredGroups = GameSettingMenuPatches.SelectedMod.OptionGroups.Where(x => x.GroupVisible.Invoke() && x.AdvancedRole is null);
foreach (IModdedOptionGroup group in filteredGroups)
{
@@ -38,7 +38,9 @@ public static class GameOptionsMenuPatch
categoryHeaderMasked.transform.localPosition = new Vector3(-0.903f, num, -2f);
num -= 0.63f;
- foreach (var opt in ModdedOptionsManager.GroupedOptions[group])
+ var filteredOpts = ModdedOptionsManager.GroupedOptions[group].Where(x=>x.Visible.Invoke()).ToList();
+
+ foreach (var opt in filteredOpts)
{
OptionBehaviour newOpt = opt.CreateOption(__instance.checkboxOrigin, __instance.numberOptionOrigin, __instance.stringOptionOrigin, __instance.settingsContainer);
newOpt.transform.localPosition = new Vector3(0.952f, num, -2f);