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);
}
public override void SetupPauseMenu()
public override void SetupPauseMenu(IPauseMenuManager pauseMenu)
{
base.SetupPauseMenu();
DebugReload.InitializePauseMenu();
DebugMenu.InitializePauseMenu();
base.SetupPauseMenu(pauseMenu);
DebugReload.InitializePauseMenu(pauseMenu);
DebugMenu.InitializePauseMenu(pauseMenu);
}
public void OnDestroy()

View File

@ -16,7 +16,7 @@
</PropertyGroup>
<ItemGroup>
<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" />
</ItemGroup>
<ItemGroup>

View File

@ -3,6 +3,7 @@ using NewHorizons.Utility.Files;
using NewHorizons.Utility.OWML;
using OWML.Common;
using OWML.Common.Menus;
using OWML.Utils;
using System;
namespace NewHorizons.Utility.DebugTools
@ -12,19 +13,16 @@ namespace NewHorizons.Utility.DebugTools
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;
UpdateReloadButton();
}
public static void UpdateReloadButton()
{
if (_reloadButton != null)
{
_reloadButton.gameObject.SetActive(Main.Debug);
}
_reloadButton?.SetButtonVisible(Main.Debug);
}
private static void ReloadConfigs()

View File

@ -5,6 +5,7 @@ using NewHorizons.Utility.OWML;
using Newtonsoft.Json;
using OWML.Common;
using OWML.Common.Menus;
using OWML.Utils;
using System;
using System.Collections.Generic;
using System.IO;
@ -23,7 +24,6 @@ namespace NewHorizons.Utility.DebugTools.Menu
internal Vector2 EditorMenuSize = new Vector2(600, 900);
bool menuOpen = false;
static bool openMenuOnPause;
static bool staticInitialized;
// Menu params
internal static IModBehaviour loadedMod = null;
@ -57,28 +57,13 @@ namespace NewHorizons.Utility.DebugTools.Menu
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)
{
@ -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);
_instance.InitMenu();
Main.Instance.ModHelper.MenuHelper.PauseMenuManager.PauseMenuOpened -= OnOpenMenu;
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()
{
if (pauseMenuButton != null)
{
pauseMenuButton.gameObject.SetActive(Main.Debug);
}
pauseMenuButton?.SetButtonVisible(Main.Debug);
}
private void RestoreMenuOpennessState() { menuOpen = openMenuOnPause; }
private void OnOpenMenu() { menuOpen = openMenuOnPause; }
private void ToggleMenu() { menuOpen = !menuOpen; openMenuOnPause = !openMenuOnPause; }
private void CloseMenu() { menuOpen = false; }
private void OnCloseMenu() { menuOpen = false; }
private void OnGUI()
{