New owml changes, fix some debug menu stuff

This commit is contained in:
Nick 2024-03-22 14:07:11 -04:00
parent bb9ace4dcb
commit 48e5229ca2
4 changed files with 37 additions and 41 deletions

View File

@ -274,11 +274,11 @@ namespace NewHorizons
LoadAddonManifest("Assets/addon-manifest.json", this); LoadAddonManifest("Assets/addon-manifest.json", this);
} }
public override void SetupPauseMenu() public override void SetupPauseMenu(IPauseMenuManager pauseMenu)
{ {
base.SetupPauseMenu(); base.SetupPauseMenu(pauseMenu);
DebugReload.InitializePauseMenu(); DebugReload.InitializePauseMenu(pauseMenu);
DebugMenu.InitializePauseMenu(); DebugMenu.InitializePauseMenu(pauseMenu);
} }
public void OnDestroy() public void OnDestroy()

View File

@ -16,7 +16,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="OuterWildsGameLibs" Version="1.1.14.768" /> <PackageReference Include="OuterWildsGameLibs" Version="1.1.14.768" />
<PackageReference Include="OWML" Version="2.10.3" /> <PackageReference Include="OWML" Version="2.11.1" />
<Reference Include="../Lib/System.ComponentModel.Annotations.dll" /> <Reference Include="../Lib/System.ComponentModel.Annotations.dll" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@ -3,6 +3,7 @@ using NewHorizons.Utility.Files;
using NewHorizons.Utility.OWML; using NewHorizons.Utility.OWML;
using OWML.Common; using OWML.Common;
using OWML.Common.Menus; using OWML.Common.Menus;
using OWML.Utils;
using System; using System;
namespace NewHorizons.Utility.DebugTools namespace NewHorizons.Utility.DebugTools
@ -12,19 +13,16 @@ namespace NewHorizons.Utility.DebugTools
private static SubmitAction _reloadButton; private static SubmitAction _reloadButton;
public static void InitializePauseMenu() public static void InitializePauseMenu(IPauseMenuManager pauseMenu)
{ {
_reloadButton = Main.Instance.ModHelper.MenuHelper.PauseMenuManager.MakeSimpleButton(TranslationHandler.GetTranslation("Reload Configs", TranslationHandler.TextType.UI).ToUpper(), 3, true); _reloadButton = pauseMenu.MakeSimpleButton(TranslationHandler.GetTranslation("Reload Configs", TranslationHandler.TextType.UI).ToUpper(), 3, true);
_reloadButton.OnSubmitAction += ReloadConfigs; _reloadButton.OnSubmitAction += ReloadConfigs;
UpdateReloadButton(); UpdateReloadButton();
} }
public static void UpdateReloadButton() public static void UpdateReloadButton()
{ {
if (_reloadButton != null) _reloadButton?.SetButtonVisible(Main.Debug);
{
_reloadButton.gameObject.SetActive(Main.Debug);
}
} }
private static void ReloadConfigs() private static void ReloadConfigs()

View File

@ -5,6 +5,7 @@ using NewHorizons.Utility.OWML;
using Newtonsoft.Json; using Newtonsoft.Json;
using OWML.Common; using OWML.Common;
using OWML.Common.Menus; using OWML.Common.Menus;
using OWML.Utils;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
@ -23,7 +24,6 @@ namespace NewHorizons.Utility.DebugTools.Menu
internal Vector2 EditorMenuSize = new Vector2(600, 900); internal Vector2 EditorMenuSize = new Vector2(600, 900);
bool menuOpen = false; bool menuOpen = false;
static bool openMenuOnPause; static bool openMenuOnPause;
static bool staticInitialized;
// Menu params // Menu params
internal static IModBehaviour loadedMod = null; internal static IModBehaviour loadedMod = null;
@ -56,29 +56,14 @@ namespace NewHorizons.Utility.DebugTools.Menu
} }
private void Start() private void Start()
{
if (!staticInitialized)
{ {
_instance = this; _instance = this;
staticInitialized = true; Main.Instance.ModHelper.MenuHelper.PauseMenuManager.PauseMenuOpened += OnOpenMenu;
Main.Instance.ModHelper.MenuHelper.PauseMenuManager.PauseMenuClosed += OnCloseMenu;
Main.Instance.OnChangeStarSystem.AddListener(OnChangeStarSystem);
// This is lying, these hooks dont exist in the new menu system
Main.Instance.ModHelper.Menus.PauseMenu.OnClosed += CloseMenu;
Main.Instance.ModHelper.Menus.PauseMenu.OnOpened += RestoreMenuOpennessState;
Main.Instance.OnChangeStarSystem.AddListener((string s) => {
if (saveButtonUnlocked)
{
SaveLoadedConfigsForRecentSystem();
saveButtonUnlocked = false;
}
});
}
else
{
InitMenu(); InitMenu();
}
if (loadedMod != null) if (loadedMod != null)
{ {
@ -86,25 +71,38 @@ namespace NewHorizons.Utility.DebugTools.Menu
} }
} }
public static void InitializePauseMenu() public void OnDestroy()
{ {
pauseMenuButton = Main.Instance.ModHelper.MenuHelper.PauseMenuManager.MakeSimpleButton(TranslationHandler.GetTranslation("Toggle Dev Tools Menu", TranslationHandler.TextType.UI).ToUpper(), 3, true); Main.Instance.ModHelper.MenuHelper.PauseMenuManager.PauseMenuOpened -= OnOpenMenu;
_instance.InitMenu(); Main.Instance.ModHelper.MenuHelper.PauseMenuManager.PauseMenuClosed -= OnCloseMenu;
Main.Instance.OnChangeStarSystem.RemoveListener(OnChangeStarSystem);
}
private void OnChangeStarSystem(string _)
{
if (saveButtonUnlocked)
{
SaveLoadedConfigsForRecentSystem();
saveButtonUnlocked = false;
}
}
public static void InitializePauseMenu(IPauseMenuManager pauseMenu)
{
pauseMenuButton = pauseMenu.MakeSimpleButton(TranslationHandler.GetTranslation("Toggle Dev Tools Menu", TranslationHandler.TextType.UI).ToUpper(), 3, true);
_instance?.InitMenu();
} }
public static void UpdatePauseMenuButton() public static void UpdatePauseMenuButton()
{ {
if (pauseMenuButton != null) pauseMenuButton?.SetButtonVisible(Main.Debug);
{
pauseMenuButton.gameObject.SetActive(Main.Debug);
}
} }
private void RestoreMenuOpennessState() { menuOpen = openMenuOnPause; } private void OnOpenMenu() { menuOpen = openMenuOnPause; }
private void ToggleMenu() { menuOpen = !menuOpen; openMenuOnPause = !openMenuOnPause; } private void ToggleMenu() { menuOpen = !menuOpen; openMenuOnPause = !openMenuOnPause; }
private void CloseMenu() { menuOpen = false; } private void OnCloseMenu() { menuOpen = false; }
private void OnGUI() private void OnGUI()
{ {