From 9177d5b456da747b6ec3a5e46044bc9040c01ac8 Mon Sep 17 00:00:00 2001 From: XtraCube <72575280+XtraCube@users.noreply.github.com> Date: Mon, 17 Feb 2025 10:14:38 -0500 Subject: [PATCH] fix merge stuff --- MiraAPI.Example/Roles/ChameleonRole.cs | 2 +- MiraAPI/GameModes/AbstractGameMode.cs | 2 +- MiraAPI/GameModes/DefaultMode.cs | 2 +- MiraAPI/GameOptions/AbstractOptionGroup.cs | 2 +- MiraAPI/Hud/CustomActionButton.cs | 5 +++-- MiraAPI/Modifiers/BaseModifier.cs | 2 +- MiraAPI/Modifiers/Types/GameModifier.cs | 2 +- MiraAPI/Modifiers/Types/TimedModifier.cs | 2 +- MiraAPI/Patches/Options/LobbyViewPanePatches.cs | 2 +- MiraAPI/Patches/Options/RoleSettingMenuPatches.cs | 7 +++++-- MiraAPI/Roles/ICustomRole.cs | 5 ----- 11 files changed, 16 insertions(+), 17 deletions(-) diff --git a/MiraAPI.Example/Roles/ChameleonRole.cs b/MiraAPI.Example/Roles/ChameleonRole.cs index 1f2f61f..b193885 100644 --- a/MiraAPI.Example/Roles/ChameleonRole.cs +++ b/MiraAPI.Example/Roles/ChameleonRole.cs @@ -12,7 +12,7 @@ public class ChameloenRole : CrewmateRole, ICustomRole public Color RoleColor => Palette.AcceptedGreen; public ModdedRoleTeams Team => ModdedRoleTeams.Crewmate; - public CustomRoleConfiguration Configuration => new CustomRoleConfiguration(this) + public CustomRoleConfiguration Configuration => new(this) { OptionsScreenshot = ExampleAssets.Banner, }; diff --git a/MiraAPI/GameModes/AbstractGameMode.cs b/MiraAPI/GameModes/AbstractGameMode.cs index 67304a6..3bb80ff 100644 --- a/MiraAPI/GameModes/AbstractGameMode.cs +++ b/MiraAPI/GameModes/AbstractGameMode.cs @@ -8,7 +8,7 @@ namespace MiraAPI.GameModes; /// /// Base class for custom gamemodes. /// -[MiraDisable] +[MiraIgnore] public abstract class AbstractGameMode { /// diff --git a/MiraAPI/GameModes/DefaultMode.cs b/MiraAPI/GameModes/DefaultMode.cs index 7f4cc70..f50dcd4 100644 --- a/MiraAPI/GameModes/DefaultMode.cs +++ b/MiraAPI/GameModes/DefaultMode.cs @@ -5,7 +5,7 @@ namespace MiraAPI.GameModes; /// /// The default game mode. /// -[MiraDisable] +[MiraIgnore] public class DefaultMode : AbstractGameMode { /// diff --git a/MiraAPI/GameOptions/AbstractOptionGroup.cs b/MiraAPI/GameOptions/AbstractOptionGroup.cs index ac4fb0c..6eac8bd 100644 --- a/MiraAPI/GameOptions/AbstractOptionGroup.cs +++ b/MiraAPI/GameOptions/AbstractOptionGroup.cs @@ -8,7 +8,7 @@ namespace MiraAPI.GameOptions; /// /// Base class for option groups. An option group is a collection of options that are displayed together in the options menu. /// -[MiraDisable] +[MiraIgnore] public abstract class AbstractOptionGroup { internal List Options { get; } = []; diff --git a/MiraAPI/Hud/CustomActionButton.cs b/MiraAPI/Hud/CustomActionButton.cs index 92d7a11..73603ea 100644 --- a/MiraAPI/Hud/CustomActionButton.cs +++ b/MiraAPI/Hud/CustomActionButton.cs @@ -3,6 +3,7 @@ using MiraAPI.Events.Mira; using MiraAPI.PluginLoading; using MiraAPI.Utilities.Assets; using System; +using MiraAPI.Patches; using UnityEngine; using UnityEngine.Events; using UnityEngine.UI; @@ -13,7 +14,7 @@ namespace MiraAPI.Hud; /// /// Class for making custom action buttons. More customizable than the default Action/Ability buttons in the base game. /// -[MiraDisable] +[MiraIgnore] public abstract class CustomActionButton { /// @@ -438,7 +439,7 @@ public abstract class CustomActionButton /// Custom action button that has a target object. /// /// The type of the target object. -[MiraDisable] +[MiraIgnore] public abstract class CustomActionButton : CustomActionButton where T : MonoBehaviour { /// diff --git a/MiraAPI/Modifiers/BaseModifier.cs b/MiraAPI/Modifiers/BaseModifier.cs index 11701cc..98aace9 100644 --- a/MiraAPI/Modifiers/BaseModifier.cs +++ b/MiraAPI/Modifiers/BaseModifier.cs @@ -5,7 +5,7 @@ namespace MiraAPI.Modifiers; /// /// Base class for all modifiers. /// -[MiraDisable] +[MiraIgnore] public abstract class BaseModifier { /// diff --git a/MiraAPI/Modifiers/Types/GameModifier.cs b/MiraAPI/Modifiers/Types/GameModifier.cs index fdf8422..6274917 100644 --- a/MiraAPI/Modifiers/Types/GameModifier.cs +++ b/MiraAPI/Modifiers/Types/GameModifier.cs @@ -5,7 +5,7 @@ namespace MiraAPI.Modifiers.Types; /// /// The base class for a game modifier. Game modifiers are applied at the start of the game on top of the player's role. /// -[MiraDisable] +[MiraIgnore] public abstract class GameModifier : BaseModifier { /// diff --git a/MiraAPI/Modifiers/Types/TimedModifier.cs b/MiraAPI/Modifiers/Types/TimedModifier.cs index 4711d4a..ef60056 100644 --- a/MiraAPI/Modifiers/Types/TimedModifier.cs +++ b/MiraAPI/Modifiers/Types/TimedModifier.cs @@ -8,7 +8,7 @@ namespace MiraAPI.Modifiers.Types; /// /// The base class for all timed modifiers. Timed modifiers have a duration and can be started and stopped. /// -[MiraDisable] +[MiraIgnore] public abstract class TimedModifier : BaseModifier { /// diff --git a/MiraAPI/Patches/Options/LobbyViewPanePatches.cs b/MiraAPI/Patches/Options/LobbyViewPanePatches.cs index a125709..9456200 100644 --- a/MiraAPI/Patches/Options/LobbyViewPanePatches.cs +++ b/MiraAPI/Patches/Options/LobbyViewPanePatches.cs @@ -280,7 +280,7 @@ public static class LobbyViewPanePatches viewSettingsInfoPanelRoleVariant.transform.localPosition = new Vector3(num2, num, -2f); var advancedRoleOptions = SelectedMod.Options - .Where(x => x.AdvancedRole == customRole.GetType() && (x.AdvancedMode is null || x.AdvancedMode == customRole.AssociatedGameMode)) + .Where(x => x.AdvancedRole == customRole.GetType() && (x.AdvancedMode is null || x.AdvancedMode == customRole.Configuration.AssociatedGameMode)) .ToList(); if (!flag && advancedRoleOptions.Count > 0) diff --git a/MiraAPI/Patches/Options/RoleSettingMenuPatches.cs b/MiraAPI/Patches/Options/RoleSettingMenuPatches.cs index 254f74a..f3efd12 100644 --- a/MiraAPI/Patches/Options/RoleSettingMenuPatches.cs +++ b/MiraAPI/Patches/Options/RoleSettingMenuPatches.cs @@ -62,6 +62,7 @@ internal static class RoleSettingMenuPatches var num3 = 0; var roleGroups = GameSettingMenuPatches.SelectedMod?.CustomRoles.Values.OfType() + .Where(x => !x.Configuration.HideSettings) .ToLookup(x => x.Configuration.RoleGroup); if (roleGroups is null) @@ -76,8 +77,7 @@ internal static class RoleSettingMenuPatches foreach (var grouping in sortedRoleGroups) { - if (!grouping.Any(role => role.AssociatedGameMode is null || role.AssociatedGameMode == - CustomGameModeManager.ActiveMode?.GetType())) + if (grouping.All(role => role.Configuration.AssociatedGameMode != CustomGameModeManager.ActiveMode?.GetType())) { continue; } @@ -147,11 +147,13 @@ internal static class RoleSettingMenuPatches { header.gameObject.Destroy(); } + CategoryHeaderEditRoles.Clear(); foreach (var option in RoleOptionSettings) { option.gameObject.Destroy(); } + RoleOptionSettings.Clear(); __instance.SetQuotaTab(); })); @@ -162,6 +164,7 @@ internal static class RoleSettingMenuPatches num -= 0.4f; } } + __instance.scrollBar.CalculateAndSetYBounds(__instance.roleChances.Count + 5, 1f, 6f, 0.43f); return false; } diff --git a/MiraAPI/Roles/ICustomRole.cs b/MiraAPI/Roles/ICustomRole.cs index 8c901fc..7042bd6 100644 --- a/MiraAPI/Roles/ICustomRole.cs +++ b/MiraAPI/Roles/ICustomRole.cs @@ -50,11 +50,6 @@ public interface ICustomRole /// MiraPluginInfo ParentMod => CustomRoleManager.FindParentMod(this); - /// - /// Gets the game mode this role is a part of. - /// - Type AssociatedGameMode => typeof(DefaultMode); - /// /// This method runs on the PlayerControl.FixedUpdate method for ALL players with this role. ///