diff --git a/NewHorizons/Utility/DebugMenu.cs b/NewHorizons/Utility/DebugMenu.cs index b129160e..8d4d78fc 100644 --- a/NewHorizons/Utility/DebugMenu.cs +++ b/NewHorizons/Utility/DebugMenu.cs @@ -40,9 +40,24 @@ namespace NewHorizons.Utility _dpp = this.GetRequiredComponent(); _drc = this.GetRequiredComponent(); + Main.Instance.ModHelper.Menus.PauseMenu.OnInit += PauseMenuInitHook; + Main.Instance.ModHelper.Menus.PauseMenu.OnClosed += CloseMenu; LoadFavoriteProps(); } + private void PauseMenuInitHook() + { + InitMenu(); + var editorButton = Main.Instance.ModHelper.Menus.PauseMenu.OptionsButton.Duplicate("Open Prop Placer Menu".ToUpper()); + editorButton.OnClick += ToggleMenu; + } + + private void ToggleMenu() { menuOpen = !menuOpen; } + + private void CloseMenu() { menuOpen = false; } + + + private void LoadFavoriteProps() { string favoritePropsPlayerPref = PlayerPrefs.GetString(favoritePropsPlayerPrefKey); @@ -61,11 +76,11 @@ namespace NewHorizons.Utility { if (!Main.Debug) return; - if (Keyboard.current[Key.Escape].wasPressedThisFrame) + /*if (Keyboard.current[Key.Escape].wasPressedThisFrame) { menuOpen = !menuOpen; if (menuOpen) InitMenu(); - } + }*/ } private void OnGUI() @@ -137,6 +152,7 @@ namespace NewHorizons.Utility if (GUILayout.Button(mod.ModHelper.Manifest.UniqueName)) { loadedMod = mod; + _dpp.active = true; propsHaveBeenLoaded = true; var folder = loadedMod.ModHelper.Manifest.ModFolderPath; diff --git a/NewHorizons/Utility/DebugPropPlacer.cs b/NewHorizons/Utility/DebugPropPlacer.cs index 2f5dc3e7..5784a57d 100644 --- a/NewHorizons/Utility/DebugPropPlacer.cs +++ b/NewHorizons/Utility/DebugPropPlacer.cs @@ -43,6 +43,8 @@ namespace NewHorizons.Utility public HashSet RecentlyPlacedProps = new HashSet(); + public bool active = false; + private void Awake() { _rc = this.GetRequiredComponent(); @@ -52,8 +54,9 @@ namespace NewHorizons.Utility private void Update() { if (!Main.Debug) return; + if (!active) return; - if (Keyboard.current[Key.Q].wasReleasedThisFrame) + if (Keyboard.current[Key.X].wasReleasedThisFrame) { PlaceObject(); }