From d06b1cdc4313a8669acb249868c17690b26c7329 Mon Sep 17 00:00:00 2001 From: ManlyMarco Date: Sat, 23 Oct 2021 03:45:49 +0200 Subject: [PATCH] [KKS] Fixed window not hiding on load screens, config and dialogs --- src/KKS_BrowserFolders_Hooks/ClassroomFolders.cs | 2 +- src/KKS_BrowserFolders_Hooks/FreeHFolders.cs | 2 +- src/KKS_BrowserFolders_Hooks/HOutfitFolders.cs | 3 ++- src/KKS_BrowserFolders_Hooks/MakerFolders.cs | 12 ++++++++---- src/KKS_BrowserFolders_Hooks/MakerOutfitFolder.cs | 2 +- src/KKS_BrowserFolders_Hooks/NewGameFolders.cs | 2 +- 6 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/KKS_BrowserFolders_Hooks/ClassroomFolders.cs b/src/KKS_BrowserFolders_Hooks/ClassroomFolders.cs index 294a6e6..e4d46e4 100644 --- a/src/KKS_BrowserFolders_Hooks/ClassroomFolders.cs +++ b/src/KKS_BrowserFolders_Hooks/ClassroomFolders.cs @@ -77,7 +77,7 @@ public static void Init(PreviewCharaList list, int sex) public void OnGui() { - if (_customCharaFile != null && _customCharaFile.isVisible && _targetScene == Scene.AddSceneName) + if (_customCharaFile != null && _customCharaFile.isVisible && _targetScene == Scene.AddSceneName && !Scene.IsOverlap && !Scene.IsNowLoadingFade) { var screenRect = GetFullscreenBrowserRect(); IMGUIUtils.DrawSolidBox(screenRect); diff --git a/src/KKS_BrowserFolders_Hooks/FreeHFolders.cs b/src/KKS_BrowserFolders_Hooks/FreeHFolders.cs index 9807bfa..bf49197 100644 --- a/src/KKS_BrowserFolders_Hooks/FreeHFolders.cs +++ b/src/KKS_BrowserFolders_Hooks/FreeHFolders.cs @@ -51,7 +51,7 @@ public void OnGui() { if (_freeHFile != null //&& !_isLive - && _targetScene == Scene.AddSceneName) + && _targetScene == Scene.AddSceneName && !Scene.IsOverlap && !Scene.IsNowLoadingFade) { var screenRect = GetFullscreenBrowserRect(); IMGUIUtils.DrawSolidBox(screenRect); diff --git a/src/KKS_BrowserFolders_Hooks/HOutfitFolders.cs b/src/KKS_BrowserFolders_Hooks/HOutfitFolders.cs index 98181ca..5c8c53a 100644 --- a/src/KKS_BrowserFolders_Hooks/HOutfitFolders.cs +++ b/src/KKS_BrowserFolders_Hooks/HOutfitFolders.cs @@ -2,6 +2,7 @@ using ChaCustom; using HarmonyLib; using KKAPI.Utilities; +using Manager; using UnityEngine; namespace BrowserFolders.Hooks.KKS @@ -41,7 +42,7 @@ public static void InitHook(clothesFileControl __instance) public void OnGui() { - if (_uiObject && _uiObject.activeSelf && _sceneName == Manager.Scene.AddSceneName) + if (_uiObject && _uiObject.activeSelf && _sceneName == Scene.AddSceneName && !Scene.IsOverlap && !Scene.IsNowLoadingFade) { var screenRect = new Rect((int)(Screen.width * 0.004), (int)(Screen.height * 0.57f), (int)(Screen.width * 0.125), (int)(Screen.height * 0.35)); IMGUIUtils.DrawSolidBox(screenRect); diff --git a/src/KKS_BrowserFolders_Hooks/MakerFolders.cs b/src/KKS_BrowserFolders_Hooks/MakerFolders.cs index 06a55ef..340b01b 100644 --- a/src/KKS_BrowserFolders_Hooks/MakerFolders.cs +++ b/src/KKS_BrowserFolders_Hooks/MakerFolders.cs @@ -18,6 +18,7 @@ public class MakerFolders : IFolderBrowser private static Toggle _loadCharaToggle; private static Toggle _saveCharaToggle; private static GameObject _saveFront; + private static GameObject _ccwGo; public static string CurrentRelativeFolder => _folderTreeView?.CurrentRelativeFolder; @@ -45,7 +46,8 @@ private static string DirectoryPathModifier(string currentDirectoryPath) [HarmonyPostfix] [HarmonyPatch(typeof(CustomCharaFile), nameof(CustomCharaFile.Initialize))] - public static void InitializePatch(CustomCharaFile __instance) { + public static void InitializePatch(CustomCharaFile __instance) + { if (_customCharaFile == null) { _customCharaFile = __instance; @@ -60,8 +62,7 @@ public static void InitializePatch(CustomCharaFile __instance) { [HarmonyPrefix] [HarmonyPatch(typeof(CustomCharaFile), "Start")] public static void InitHook(CustomCharaFile __instance) - { - + { var gt = GameObject.Find("CustomScene/CustomRoot/FrontUIGroup/CustomUIGroup/CvsMenuTree/06_SystemTop"); _loadCharaToggle = gt.transform.Find("tglLoadChara").GetComponent(); _saveCharaToggle = gt.transform.Find("tglSaveChara").GetComponent(); @@ -72,6 +73,9 @@ public static void InitHook(CustomCharaFile __instance) _saveFront = GameObject.Find("CustomScene/CustomRoot/FrontUIGroup/CvsCaptureFront"); _targetScene = Scene.AddSceneName; + + // Exit maker / save character dialog boxes + _ccwGo = GameObject.FindObjectOfType()?.gameObject; } public void OnGui() @@ -84,7 +88,7 @@ public void OnGui() if (_loadCharaToggle != null && _loadCharaToggle.isOn || _saveCharaToggle != null && _saveCharaToggle.isOn) { // Check if the character picture take screen is displayed - if (_saveFront == null || !_saveFront.activeSelf) + if ((_saveFront == null || !_saveFront.activeSelf) && !Scene.IsOverlap && !Scene.IsNowLoadingFade && (_ccwGo == null || !_ccwGo.activeSelf)) { if (_refreshList) { diff --git a/src/KKS_BrowserFolders_Hooks/MakerOutfitFolder.cs b/src/KKS_BrowserFolders_Hooks/MakerOutfitFolder.cs index 89c4627..759a60f 100644 --- a/src/KKS_BrowserFolders_Hooks/MakerOutfitFolder.cs +++ b/src/KKS_BrowserFolders_Hooks/MakerOutfitFolder.cs @@ -83,7 +83,7 @@ public void OnGui() if (_loadOutfitToggle != null && _loadOutfitToggle.isOn || _saveOutfitToggle != null && _saveOutfitToggle.isOn) { // Check if the character picture take screen is displayed - if (_saveFront == null || !_saveFront.activeSelf) + if ((_saveFront == null || !_saveFront.activeSelf) && !Scene.IsOverlap && !Scene.IsNowLoadingFade) { if (_refreshList) { diff --git a/src/KKS_BrowserFolders_Hooks/NewGameFolders.cs b/src/KKS_BrowserFolders_Hooks/NewGameFolders.cs index 9c66750..fbb19ce 100644 --- a/src/KKS_BrowserFolders_Hooks/NewGameFolders.cs +++ b/src/KKS_BrowserFolders_Hooks/NewGameFolders.cs @@ -39,7 +39,7 @@ public static void Init(EntryPlayer list, int sex) public void OnGui() { - if (_newGame != null && _targetScene == Scene.AddSceneName) + if (_newGame != null && _targetScene == Scene.AddSceneName && !Scene.IsOverlap && !Scene.IsNowLoadingFade) { var screenRect = GetFullscreenBrowserRect(); IMGUIUtils.DrawSolidBox(screenRect);