diff --git a/src/Config/ModConfig.cs b/src/Config/ModConfig.cs index 05ce207..02b4bee 100644 --- a/src/Config/ModConfig.cs +++ b/src/Config/ModConfig.cs @@ -24,7 +24,8 @@ namespace UnityExplorer.Config public int Default_Page_Limit = 25; public string Default_Output_Path = ExplorerCore.EXPLORER_FOLDER + @"\Output"; public bool Log_Unity_Debug = false; - public bool Save_Logs_To_Disk = true; + public bool Hide_On_Startup = false; + //public bool Save_Logs_To_Disk = true; public static event Action OnConfigChanged; @@ -56,24 +57,27 @@ namespace UnityExplorer.Config { switch (config.KeyName) { - case "Main_Menu_Toggle": + case nameof(Main_Menu_Toggle): Instance.Main_Menu_Toggle = (KeyCode)Enum.Parse(typeof(KeyCode), config.Value); break; - case "Force_Unlock_Mouse": + case nameof(Force_Unlock_Mouse): Instance.Force_Unlock_Mouse = bool.Parse(config.Value); break; - case "Default_Page_Limit": + case nameof(Default_Page_Limit): Instance.Default_Page_Limit = int.Parse(config.Value); break; - case "Log_Unity_Debug": + case nameof(Log_Unity_Debug): Instance.Log_Unity_Debug = bool.Parse(config.Value); break; - case "Save_Logs_To_Disk": - Instance.Save_Logs_To_Disk = bool.Parse(config.Value); - break; - case "Default_Output_Path": + case nameof(Default_Output_Path): Instance.Default_Output_Path = config.Value; break; + case nameof(Hide_On_Startup): + Instance.Hide_On_Startup = bool.Parse(config.Value); + break; + //case nameof(Save_Logs_To_Disk): + // Instance.Save_Logs_To_Disk = bool.Parse(config.Value); + // break; } } @@ -87,12 +91,13 @@ namespace UnityExplorer.Config data.Sections.AddSection("Config"); var sec = data.Sections["Config"]; - sec.AddKey("Main_Menu_Toggle", Instance.Main_Menu_Toggle.ToString()); - sec.AddKey("Force_Unlock_Mouse", Instance.Force_Unlock_Mouse.ToString()); - sec.AddKey("Default_Page_Limit", Instance.Default_Page_Limit.ToString()); - sec.AddKey("Log_Unity_Debug", Instance.Log_Unity_Debug.ToString()); - sec.AddKey("Save_Logs_To_Disk", Instance.Save_Logs_To_Disk.ToString()); - sec.AddKey("Default_Output_Path", Instance.Default_Output_Path); + sec.AddKey(nameof(Main_Menu_Toggle), Instance.Main_Menu_Toggle.ToString()); + sec.AddKey(nameof(Force_Unlock_Mouse), Instance.Force_Unlock_Mouse.ToString()); + sec.AddKey(nameof(Default_Page_Limit), Instance.Default_Page_Limit.ToString()); + sec.AddKey(nameof(Log_Unity_Debug), Instance.Log_Unity_Debug.ToString()); + sec.AddKey(nameof(Default_Output_Path), Instance.Default_Output_Path); + sec.AddKey(nameof(Hide_On_Startup), Instance.Hide_On_Startup.ToString()); + //sec.AddKey("Save_Logs_To_Disk", Instance.Save_Logs_To_Disk.ToString()); File.WriteAllText(INI_PATH, data.ToString()); } diff --git a/src/ExplorerCore.cs b/src/ExplorerCore.cs index 7d15e1b..0553d9b 100644 --- a/src/ExplorerCore.cs +++ b/src/ExplorerCore.cs @@ -15,14 +15,14 @@ namespace UnityExplorer public class ExplorerCore { public const string NAME = "UnityExplorer"; - public const string VERSION = "3.1.9"; + public const string VERSION = "3.1.10"; public const string AUTHOR = "Sinai"; public const string GUID = "com.sinai.unityexplorer"; #if ML - public const string EXPLORER_FOLDER = @"Mods\UnityExplorer"; + public static string EXPLORER_FOLDER = Path.Combine("Mods", NAME); #elif BIE - public static string EXPLORER_FOLDER = Path.Combine(BepInEx.Paths.ConfigPath, "UnityExplorer"); + public static string EXPLORER_FOLDER = Path.Combine(BepInEx.Paths.ConfigPath, NAME); #elif STANDALONE public static string EXPLORER_FOLDER { @@ -110,6 +110,10 @@ namespace UnityExplorer { UIManager.Init(); Log("Initialized UnityExplorer UI."); + + if (ModConfig.Instance.Hide_On_Startup) + ShowMenu = false; + // InspectorManager.Instance.Inspect(Tests.TestClass.Instance); } catch (Exception e) diff --git a/src/UI/Modules/DebugConsole.cs b/src/UI/Modules/DebugConsole.cs index d51ff27..e4ee428 100644 --- a/src/UI/Modules/DebugConsole.cs +++ b/src/UI/Modules/DebugConsole.cs @@ -16,7 +16,7 @@ namespace UnityExplorer.UI.Modules public static DebugConsole Instance { get; private set; } public static bool LogUnity { get; set; } = ModConfig.Instance.Log_Unity_Debug; - public static bool SaveToDisk { get; set; } = ModConfig.Instance.Save_Logs_To_Disk; + //public static bool SaveToDisk { get; set; } = ModConfig.Instance.Save_Logs_To_Disk; internal static StreamWriter s_streamWriter; @@ -49,8 +49,8 @@ namespace UnityExplorer.UI.Modules // set up IO - if (!SaveToDisk) - return; + //if (!SaveToDisk) + // return; var path = ExplorerCore.EXPLORER_FOLDER + @"\Logs"; diff --git a/src/UI/Modules/OptionsPage.cs b/src/UI/Modules/OptionsPage.cs index ee22467..dcd7f7d 100644 --- a/src/UI/Modules/OptionsPage.cs +++ b/src/UI/Modules/OptionsPage.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Linq; -//using TMPro; using UnityEngine; using UnityEngine.UI; using UnityExplorer.Config; @@ -19,6 +18,7 @@ namespace UnityExplorer.UI.Modules private Toggle m_unlockMouseToggle; private InputField m_pageLimitInput; private InputField m_defaultOutputInput; + private Toggle m_hideOnStartupToggle; public override void Init() { @@ -27,26 +27,21 @@ namespace UnityExplorer.UI.Modules public override void Update() { - // not needed? } internal void OnApply() { if (!string.IsNullOrEmpty(m_keycodeInput.text) && Enum.Parse(typeof(KeyCode), m_keycodeInput.text) is KeyCode keyCode) - { ModConfig.Instance.Main_Menu_Toggle = keyCode; - } ModConfig.Instance.Force_Unlock_Mouse = m_unlockMouseToggle.isOn; if (!string.IsNullOrEmpty(m_pageLimitInput.text) && int.TryParse(m_pageLimitInput.text, out int lim)) - { ModConfig.Instance.Default_Page_Limit = lim; - } ModConfig.Instance.Default_Output_Path = m_defaultOutputInput.text; - // todo default output path + ModConfig.Instance.Hide_On_Startup = m_hideOnStartupToggle.isOn; ModConfig.SaveSettings(); ModConfig.InvokeConfigChanged(); @@ -98,6 +93,7 @@ namespace UnityExplorer.UI.Modules ConstructMouseUnlockOpt(optionsGroupObj); ConstructPageLimitOpt(optionsGroupObj); ConstructOutputPathOpt(optionsGroupObj); + ConstructHideOnStartupOpt(optionsGroupObj); var applyBtnObj = UIFactory.CreateButton(Content, new Color(0.2f, 0.2f, 0.2f)); var applyText = applyBtnObj.GetComponentInChildren(); @@ -113,10 +109,34 @@ namespace UnityExplorer.UI.Modules applyBtn.onClick.AddListener(OnApply); } + private void ConstructHideOnStartupOpt(GameObject optionsGroupObj) + { + var rowObj = UIFactory.CreateHorizontalGroup(optionsGroupObj, new Color(1, 1, 1, 0)); + var rowGroup = rowObj.GetComponent(); + rowGroup.childControlWidth = true; + rowGroup.childForceExpandWidth = false; + rowGroup.childControlHeight = true; + rowGroup.childForceExpandHeight = true; + var groupLayout = rowObj.AddComponent(); + groupLayout.minHeight = 25; + groupLayout.flexibleHeight = 0; + groupLayout.minWidth = 200; + groupLayout.flexibleWidth = 1000; + + var labelObj = UIFactory.CreateLabel(rowObj, TextAnchor.MiddleLeft); + var labelText = labelObj.GetComponent(); + labelText.text = "Hide UI on startup:"; + var labelLayout = labelObj.AddComponent(); + labelLayout.minWidth = 150; + labelLayout.minHeight = 25; + + UIFactory.CreateToggle(rowObj, out m_hideOnStartupToggle, out Text toggleText); + m_hideOnStartupToggle.isOn = ModConfig.Instance.Hide_On_Startup; + toggleText.text = ""; + } + internal void ConstructKeycodeOpt(GameObject parent) { - //public KeyCode Main_Menu_Toggle = KeyCode.F7; - var rowObj = UIFactory.CreateHorizontalGroup(parent, new Color(1, 1, 1, 0)); var rowGroup = rowObj.GetComponent(); rowGroup.childControlWidth = true; @@ -146,8 +166,6 @@ namespace UnityExplorer.UI.Modules internal void ConstructMouseUnlockOpt(GameObject parent) { - //public bool Force_Unlock_Mouse = true; - var rowObj = UIFactory.CreateHorizontalGroup(parent, new Color(1, 1, 1, 0)); var rowGroup = rowObj.GetComponent(); rowGroup.childControlWidth = true;