From 3564f97ffbab6cd5b8c659383c882d8d1fe3b347 Mon Sep 17 00:00:00 2001 From: Aleksander Waage Date: Mon, 13 Jul 2020 17:35:25 +0200 Subject: [PATCH 1/2] this works too --- OWML.Common/Menus/IModMainMenu.cs | 6 +++--- OWML.Common/Menus/IModMenu.cs | 2 -- OWML.Common/Menus/IModPauseMenu.cs | 6 +++--- .../{ModButton.cs => ModButtonBase.cs} | 4 ++-- OWML.ModHelper.Menus/ModLayoutButton.cs | 2 +- OWML.ModHelper.Menus/ModMenu.cs | 12 ------------ OWML.ModHelper.Menus/ModTitleButton.cs | 2 +- OWML.ModHelper.Menus/OWML.ModHelper.Menus.csproj | 2 +- 8 files changed, 11 insertions(+), 25 deletions(-) rename OWML.ModHelper.Menus/{ModButton.cs => ModButtonBase.cs} (95%) diff --git a/OWML.Common/Menus/IModMainMenu.cs b/OWML.Common/Menus/IModMainMenu.cs index ee344426e..8d779031f 100644 --- a/OWML.Common/Menus/IModMainMenu.cs +++ b/OWML.Common/Menus/IModMainMenu.cs @@ -2,9 +2,9 @@ { public interface IModMainMenu : IModOWMenu { - IModTabbedMenu OptionsMenu { get; } - IModButton OptionsButton { get; } - IModButton QuitButton { get; } + new IModTabbedMenu OptionsMenu { get; } + new IModButton OptionsButton { get; } + new IModButton QuitButton { get; } IModButton ResumeExpeditionButton { get; } IModButton NewExpeditionButton { get; } IModButton ViewCreditsButton { get; } diff --git a/OWML.Common/Menus/IModMenu.cs b/OWML.Common/Menus/IModMenu.cs index 63d79b475..32fb84565 100644 --- a/OWML.Common/Menus/IModMenu.cs +++ b/OWML.Common/Menus/IModMenu.cs @@ -20,8 +20,6 @@ public interface IModMenu IModButton GetTitleButton(string title); IModPromptButton GetPromptButton(string title); - IModButton AddButton(IModButton button); - IModButton AddButton(IModButton button, int index); IModButtonBase AddButton(IModButtonBase button); IModButtonBase AddButton(IModButtonBase button, int index); diff --git a/OWML.Common/Menus/IModPauseMenu.cs b/OWML.Common/Menus/IModPauseMenu.cs index 995c88b12..23e541bad 100644 --- a/OWML.Common/Menus/IModPauseMenu.cs +++ b/OWML.Common/Menus/IModPauseMenu.cs @@ -2,9 +2,9 @@ { public interface IModPauseMenu : IModPopupMenu, IModOWMenu { - IModTabbedMenu OptionsMenu { get; } - IModButton OptionsButton { get; } - IModButton QuitButton { get; } + new IModTabbedMenu OptionsMenu { get; } + new IModButton OptionsButton { get; } + new IModButton QuitButton { get; } IModButton ResumeButton { get; } void Initialize(SettingsManager settingsManager); diff --git a/OWML.ModHelper.Menus/ModButton.cs b/OWML.ModHelper.Menus/ModButtonBase.cs similarity index 95% rename from OWML.ModHelper.Menus/ModButton.cs rename to OWML.ModHelper.Menus/ModButtonBase.cs index 91293ac52..b0ea4b91f 100644 --- a/OWML.ModHelper.Menus/ModButton.cs +++ b/OWML.ModHelper.Menus/ModButtonBase.cs @@ -6,7 +6,7 @@ namespace OWML.ModHelper.Menus { - public abstract class ModButton : IModButtonBase + public abstract class ModButtonBase : IModButtonBase { public event Action OnClick; @@ -27,7 +27,7 @@ public int Index private readonly UIStyleApplier _uIStyleApplier; - protected ModButton(Button button, IModMenu menu) + protected ModButtonBase(Button button, IModMenu menu) { _uIStyleApplier = button.GetComponent(); Button = button; diff --git a/OWML.ModHelper.Menus/ModLayoutButton.cs b/OWML.ModHelper.Menus/ModLayoutButton.cs index 7b7385686..959e02a67 100644 --- a/OWML.ModHelper.Menus/ModLayoutButton.cs +++ b/OWML.ModHelper.Menus/ModLayoutButton.cs @@ -4,7 +4,7 @@ namespace OWML.ModHelper.Menus { - public class ModLayoutButton : ModButton, IModLayoutButton + public class ModLayoutButton : ModButtonBase, IModLayoutButton { public IModLayoutManager Layout { get; } diff --git a/OWML.ModHelper.Menus/ModMenu.cs b/OWML.ModHelper.Menus/ModMenu.cs index 71829b85a..4cc1aed9e 100644 --- a/OWML.ModHelper.Menus/ModMenu.cs +++ b/OWML.ModHelper.Menus/ModMenu.cs @@ -108,18 +108,6 @@ public Button AddButton(string title, int index) return copy.Button; } - [Obsolete("use IModButtonBase")] - public IModButton AddButton(IModButton button) - { - return AddButton(button, button.Index); - } - - [Obsolete("use IModButtonBase")] - public virtual IModButton AddButton(IModButton button, int index) - { - return (IModButton)AddButton((IModButtonBase)button, index); - } - public IModButtonBase AddButton(IModButtonBase button) { return AddButton(button, button.Index); diff --git a/OWML.ModHelper.Menus/ModTitleButton.cs b/OWML.ModHelper.Menus/ModTitleButton.cs index 8833b0ff4..a03c2a27f 100644 --- a/OWML.ModHelper.Menus/ModTitleButton.cs +++ b/OWML.ModHelper.Menus/ModTitleButton.cs @@ -4,7 +4,7 @@ namespace OWML.ModHelper.Menus { - public class ModTitleButton : ModButton, IModButton + public class ModTitleButton : ModButtonBase, IModButton { private readonly Text _text; public virtual string Title diff --git a/OWML.ModHelper.Menus/OWML.ModHelper.Menus.csproj b/OWML.ModHelper.Menus/OWML.ModHelper.Menus.csproj index b83de5c01..706611fe1 100644 --- a/OWML.ModHelper.Menus/OWML.ModHelper.Menus.csproj +++ b/OWML.ModHelper.Menus/OWML.ModHelper.Menus.csproj @@ -85,7 +85,7 @@ - + From 20c212243ad40a34cb8e30b9fc4003a130b801a3 Mon Sep 17 00:00:00 2001 From: Aleksander Waage Date: Mon, 13 Jul 2020 19:38:42 +0200 Subject: [PATCH 2/2] re-added AddButton --- OWML.Common/Menus/IModMenu.cs | 2 ++ OWML.ModHelper.Menus/ModMenu.cs | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/OWML.Common/Menus/IModMenu.cs b/OWML.Common/Menus/IModMenu.cs index 32fb84565..63d79b475 100644 --- a/OWML.Common/Menus/IModMenu.cs +++ b/OWML.Common/Menus/IModMenu.cs @@ -20,6 +20,8 @@ public interface IModMenu IModButton GetTitleButton(string title); IModPromptButton GetPromptButton(string title); + IModButton AddButton(IModButton button); + IModButton AddButton(IModButton button, int index); IModButtonBase AddButton(IModButtonBase button); IModButtonBase AddButton(IModButtonBase button, int index); diff --git a/OWML.ModHelper.Menus/ModMenu.cs b/OWML.ModHelper.Menus/ModMenu.cs index 4cc1aed9e..71829b85a 100644 --- a/OWML.ModHelper.Menus/ModMenu.cs +++ b/OWML.ModHelper.Menus/ModMenu.cs @@ -108,6 +108,18 @@ public Button AddButton(string title, int index) return copy.Button; } + [Obsolete("use IModButtonBase")] + public IModButton AddButton(IModButton button) + { + return AddButton(button, button.Index); + } + + [Obsolete("use IModButtonBase")] + public virtual IModButton AddButton(IModButton button, int index) + { + return (IModButton)AddButton((IModButtonBase)button, index); + } + public IModButtonBase AddButton(IModButtonBase button) { return AddButton(button, button.Index);