From 5affd9f6f180f9d7a70b85c02942e02e47f6ac2e Mon Sep 17 00:00:00 2001 From: XtraCube <72575280+XtraCube@users.noreply.github.com> Date: Tue, 20 Aug 2024 18:49:59 -0400 Subject: [PATCH] fix hidden roles showing in settings --- .../Patches/Options/RoleSettingMenuPatches.cs | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/MiraAPI/Patches/Options/RoleSettingMenuPatches.cs b/MiraAPI/Patches/Options/RoleSettingMenuPatches.cs index 33e76fb..6c88150 100644 --- a/MiraAPI/Patches/Options/RoleSettingMenuPatches.cs +++ b/MiraAPI/Patches/Options/RoleSettingMenuPatches.cs @@ -51,8 +51,13 @@ public static class RoleSettingMenuPatches categoryHeaderEditRole.transform.localPosition = new Vector3(4.986f, num, -2f); num -= 0.522f; int num3 = 0; + + var crewRoles = GameSettingMenuPatches.SelectedMod.CustomRoles.Values + .OfType() + .Where(role => role.Team == ModdedRoleTeams.Crewmate && !role.HideSettings) + .ToList(); - foreach (var role in GameSettingMenuPatches.SelectedMod.CustomRoles.Values.OfType().Where(role => role.Team == ModdedRoleTeams.Crewmate)) + foreach (var role in crewRoles) { CreateQuotaOption(__instance, role as RoleBehaviour, ref num, num3); num3++; @@ -64,8 +69,12 @@ public static class RoleSettingMenuPatches categoryHeaderEditRole2.transform.localPosition = new Vector3(4.986f, num, -2f); num -= 0.522f; + var impRoles = GameSettingMenuPatches.SelectedMod.CustomRoles.Values + .OfType() + .Where(role => role.Team == ModdedRoleTeams.Impostor && !role.HideSettings) + .ToList(); - foreach (var role in GameSettingMenuPatches.SelectedMod.CustomRoles.Values.OfType().Where(role => role.Team == ModdedRoleTeams.Impostor)) + foreach (var role in impRoles) { CreateQuotaOption(__instance, role as RoleBehaviour, ref num, num3); num3++; @@ -77,9 +86,13 @@ public static class RoleSettingMenuPatches categoryHeaderEditRole3.Title.text = "Neutral Roles"; categoryHeaderEditRole3.transform.localPosition = new Vector3(4.986f, num, -2f); num -= 0.522f; - - - foreach (var role in GameSettingMenuPatches.SelectedMod.CustomRoles.Values.OfType().Where(role => role.Team == ModdedRoleTeams.Neutral)) + + var neutRoles = GameSettingMenuPatches.SelectedMod.CustomRoles.Values + .OfType() + .Where(role => role.Team == ModdedRoleTeams.Neutral && !role.HideSettings) + .ToList(); + + foreach (var role in neutRoles) { CreateQuotaOption(__instance, role as RoleBehaviour, ref num, num3); num3++;