From ca2fccbc200266f95c8df57f0f2938a828e0d961 Mon Sep 17 00:00:00 2001
From: _nebula <41904486+misternebula@users.noreply.github.com>
Date: Wed, 20 Mar 2024 20:30:48 +0000
Subject: [PATCH] use owml startup popups
---
MenuFramework/MenuFramework.csproj | 38 +++----
MenuFramework/StartupPopupManager.cs | 155 +--------------------------
MenuFramework/manifest.json | 4 +-
MenuFramework/packages.config | 2 +-
4 files changed, 24 insertions(+), 175 deletions(-)
diff --git a/MenuFramework/MenuFramework.csproj b/MenuFramework/MenuFramework.csproj
index 16871ca..f38530b 100644
--- a/MenuFramework/MenuFramework.csproj
+++ b/MenuFramework/MenuFramework.csproj
@@ -78,7 +78,7 @@
..\packages\MonoMod.Utils.21.8.19.1\lib\net40\MonoMod.Utils.dll
- ..\packages\OWML.2.9.8\lib\net48\NAudio-Unity.dll
+ ..\packages\OWML.2.10.1\lib\net48\NAudio-Unity.dll
..\packages\OuterWildsGameLibs.1.1.14.768\lib\netstandard.dll
@@ -86,32 +86,32 @@
..\packages\OuterWildsGameLibs.1.1.14.768\lib\Newtonsoft.Json.dll
-
- ..\packages\OWML.2.9.8\lib\net48\OWML.Common.dll
+
+ ..\packages\OWML.2.10.1\lib\net48\OWML.Common.dll
-
- ..\packages\OWML.2.9.8\lib\net48\OWML.Logging.dll
+
+ ..\packages\OWML.2.10.1\lib\net48\OWML.Logging.dll
-
- ..\packages\OWML.2.9.8\lib\net48\OWML.ModHelper.dll
+
+ ..\packages\OWML.2.10.1\lib\net48\OWML.ModHelper.dll
-
- ..\packages\OWML.2.9.8\lib\net48\OWML.ModHelper.Assets.dll
+
+ ..\packages\OWML.2.10.1\lib\net48\OWML.ModHelper.Assets.dll
-
- ..\packages\OWML.2.9.8\lib\net48\OWML.ModHelper.Events.dll
+
+ ..\packages\OWML.2.10.1\lib\net48\OWML.ModHelper.Events.dll
-
- ..\packages\OWML.2.9.8\lib\net48\OWML.ModHelper.Input.dll
+
+ ..\packages\OWML.2.10.1\lib\net48\OWML.ModHelper.Input.dll
-
- ..\packages\OWML.2.9.8\lib\net48\OWML.ModHelper.Interaction.dll
+
+ ..\packages\OWML.2.10.1\lib\net48\OWML.ModHelper.Interaction.dll
-
- ..\packages\OWML.2.9.8\lib\net48\OWML.ModHelper.Menus.dll
+
+ ..\packages\OWML.2.10.1\lib\net48\OWML.ModHelper.Menus.dll
-
- ..\packages\OWML.2.9.8\lib\net48\OWML.Utils.dll
+
+ ..\packages\OWML.2.10.1\lib\net48\OWML.Utils.dll
..\packages\OuterWildsGameLibs.1.1.14.768\lib\System.dll
diff --git a/MenuFramework/StartupPopupManager.cs b/MenuFramework/StartupPopupManager.cs
index 0b1ef44..a7fbde6 100644
--- a/MenuFramework/StartupPopupManager.cs
+++ b/MenuFramework/StartupPopupManager.cs
@@ -1,10 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Reflection;
-using System.Text;
-using System.Threading.Tasks;
-using UnityEngine;
+using UnityEngine;
namespace MenuFramework
{
@@ -15,154 +9,9 @@ namespace MenuFramework
private void Awake()
=> Instance = this;
- private void Start()
- {
- Main.Helper.HarmonyHelper.AddPrefix(nameof(TitleScreenManager.DetermineStartupPopups), typeof(StartupPatches), nameof(StartupPatches.DetermineStartupPopups));
- Main.Helper.HarmonyHelper.AddPrefix(nameof(TitleScreenManager.OnUserConfirmStartupPopup), typeof(StartupPatches), nameof(StartupPatches.OnUserConfirmStartupPopup));
-
- if (typeof(TitleScreenManager).GetMethods(BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static).Any(x => x.Name == "ShowStartupPopupsAndShowMenu"))
- {
- Main.Helper.HarmonyHelper.AddPrefix("ShowStartupPopupsAndShowMenu", typeof(StartupPatches), nameof(StartupPatches.ShowStartupPopupsAndShowMenu));
- }
- else
- {
- Main.Helper.HarmonyHelper.AddPrefix("TryShowStartupPopupsAndShowMenu", typeof(StartupPatches), nameof(StartupPatches.TryShowStartupPopupsAndShowMenu));
- Main.Helper.HarmonyHelper.AddPrefix("TryShowStartupPopups", typeof(StartupPatches), nameof(StartupPatches.TryShowStartupPopups));
- }
- }
-
- public int ActivePopup;
-
- public List PopupsToShow = new List();
-
- public List Popups = new List()
- {
- UITextLibrary.GetString(UITextType.MenuMessage_InputUpdate),
- UITextLibrary.GetString(UITextType.MenuMessage_ReducedFrightOptionAvail),
- UITextLibrary.GetString(UITextType.MenuMessage_NewExhibit)
- };
-
public void RegisterStartupPopup(string message)
{
- PopupsToShow.Add(Popups.Count);
- Popups.Add(message);
- }
- }
-
- public static class StartupPatches
- {
- public static bool DetermineStartupPopups(TitleScreenManager __instance)
- {
- if (__instance._profileManager.currentProfileGameSave.version == "NONE")
- {
- StartupPopupManager.Instance.PopupsToShow.Add(0);
- }
-
- var ownsDlc = EntitlementsManager.IsDlcOwned() == EntitlementsManager.AsyncOwnershipStatus.Owned;
-
- if (ownsDlc && (__instance._profileManager.currentProfileGameSave.shownPopups & StartupPopups.ReducedFrights) == StartupPopups.None)
- {
- StartupPopupManager.Instance.PopupsToShow.Add(1);
- }
-
- if (ownsDlc && (__instance._profileManager.currentProfileGameSave.shownPopups & StartupPopups.NewExhibit) == StartupPopups.None)
- {
- StartupPopupManager.Instance.PopupsToShow.Add(2);
- }
-
- return false;
- }
-
- public static bool ShowStartupPopupsAndShowMenu(TitleScreenManager __instance)
- {
- var popupManger = StartupPopupManager.Instance;
-
- if (popupManger.PopupsToShow.Count == 0)
- {
- __instance._okCancelPopup.ResetPopup();
- __instance.SetUpMainMenu();
- __instance.FadeInMenuOptions();
- return false;
- }
-
- popupManger.ActivePopup = popupManger.PopupsToShow.OrderBy(x => x).First();
- var message = popupManger.Popups[popupManger.ActivePopup];
-
- __instance._inputModule.EnableInputs();
- __instance._titleMenuRaycastBlocker.blocksRaycasts = false;
- __instance._okCancelPopup.ResetPopup();
- __instance._okCancelPopup.SetUpPopup(message, InputLibrary.menuConfirm, null, __instance._continuePrompt, null, true, false);
- __instance._okCancelPopup.OnPopupConfirm += __instance.OnUserConfirmStartupPopup;
- __instance._okCancelPopup.EnableMenu(true);
-
- return false;
- }
-
- public static bool OnUserConfirmStartupPopup(TitleScreenManager __instance)
- {
- var popupManger = StartupPopupManager.Instance;
-
- popupManger.PopupsToShow.Remove(popupManger.ActivePopup);
-
- if (popupManger.ActivePopup <= 2)
- {
- switch (popupManger.ActivePopup)
- {
- case 0:
- PlayerData.SetShownPopups(StartupPopups.ResetInputs);
- break;
- case 1:
- PlayerData.SetShownPopups(StartupPopups.ReducedFrights);
- break;
- case 2:
- PlayerData.SetShownPopups(StartupPopups.NewExhibit);
- break;
- }
-
- PlayerData.SaveCurrentGame();
- }
-
- popupManger.ActivePopup = -1;
- __instance._okCancelPopup.OnPopupConfirm -= __instance.OnUserConfirmStartupPopup;
- __instance._inputModule.DisableInputs();
- __instance._titleMenuRaycastBlocker.blocksRaycasts = true;
- __instance.TryShowStartupPopupsAndShowMenu(true);
-
- return false;
- }
-
- public static bool TryShowStartupPopupsAndShowMenu(TitleScreenManager __instance)
- {
- var popupManger = StartupPopupManager.Instance;
-
- if (popupManger.PopupsToShow.Count == 0)
- {
- __instance._okCancelPopup.ResetPopup();
- __instance.SetUpMainMenu();
- __instance.FadeInMenuOptions();
- return false;
- }
-
- __instance.TryShowStartupPopups();
-
- return false;
- }
-
- public static bool TryShowStartupPopups(TitleScreenManager __instance)
- {
- var popupManger = StartupPopupManager.Instance;
-
- popupManger.ActivePopup = popupManger.PopupsToShow.First();
- var message = popupManger.Popups[popupManger.ActivePopup];
-
- __instance._inputModule.EnableInputs();
- __instance._titleMenuRaycastBlocker.blocksRaycasts = false;
- __instance._okCancelPopup.ResetPopup();
- __instance._okCancelPopup.SetUpPopup(message, InputLibrary.menuConfirm, null, __instance._continuePrompt, null, true, false);
- __instance._okCancelPopup.OnPopupConfirm += __instance.OnUserConfirmStartupPopup;
- __instance._okCancelPopup.EnableMenu(true);
-
- return false;
+ Main.Helper.MenuHelper.PopupMenuManager.RegisterStartupPopup(message);
}
}
}
diff --git a/MenuFramework/manifest.json b/MenuFramework/manifest.json
index 6ffd8db..1d07c51 100644
--- a/MenuFramework/manifest.json
+++ b/MenuFramework/manifest.json
@@ -4,6 +4,6 @@
"name": "Menu Framework",
"description": "Custom menu framework/wrapper.",
"uniqueName": "_nebula.MenuFramework",
- "version": "4.0.0",
- "owmlVersion": "2.9.8"
+ "version": "5.0.0",
+ "owmlVersion": "2.10.1"
}
\ No newline at end of file
diff --git a/MenuFramework/packages.config b/MenuFramework/packages.config
index 31130f6..0adcb81 100644
--- a/MenuFramework/packages.config
+++ b/MenuFramework/packages.config
@@ -7,5 +7,5 @@
-
+
\ No newline at end of file