From e3460a42cdef1e4b36cac76457eacb319b686035 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A0=95=EC=98=81=EB=AF=BC?= <117150306+jym04@users.noreply.github.com> Date: Thu, 29 May 2025 13:53:27 +0900 Subject: [PATCH] =?UTF-8?q?=ED=94=84=EB=A1=9C=EA=B7=B8=EB=9E=A8=20?= =?UTF-8?q?=EC=A2=85=EB=A3=8C=20=EC=9D=B4=EB=B2=A4=ED=8A=B8=20=EC=97=B0?= =?UTF-8?q?=EA=B2=B0=20=EB=B0=8F=20File-OpenProject=20=EC=98=88=EC=99=B8?= =?UTF-8?q?=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Studio/Managers/StaticCanvasHandler.cs | 1 - .../Scripts/Studio/UI/Canvas/Canvas_Static.cs | 3 ++ .../Studio/UI/Panel/Panel_StudioTopBar.cs | 39 +++++++++++++------ .../UI/Panel/Panel_TopMenuOpenProjectInfo.cs | 20 ++++++++++ 4 files changed, 51 insertions(+), 12 deletions(-) diff --git a/Assets/Scripts/Studio/Managers/StaticCanvasHandler.cs b/Assets/Scripts/Studio/Managers/StaticCanvasHandler.cs index 7482e0fd..a88d4378 100644 --- a/Assets/Scripts/Studio/Managers/StaticCanvasHandler.cs +++ b/Assets/Scripts/Studio/Managers/StaticCanvasHandler.cs @@ -16,7 +16,6 @@ namespace Studio.Manage GameObject assetLibraryWindow = canvas_Popup.panel_assetlibrary.gameObject; GameObject repository = canvas_Popup.panel_datarepository.gameObject; - canvas_static.panel_studiotopbar.onClickAssetManager += canvas_Popup.panel_assetsetting.Open; canvas_static.panel_studiotopbar.onClickAssetLibraryWindow += (() => assetLibraryWindow.SetActive(true)); canvas_static.panel_studiotopbar.onClickHierarchyWindow += (() => hierarchyWindow.SetActive(true)); canvas_static.panel_studiotopbar.onClickDataStorage += (() => repository.SetActive(true)); diff --git a/Assets/Scripts/Studio/UI/Canvas/Canvas_Static.cs b/Assets/Scripts/Studio/UI/Canvas/Canvas_Static.cs index a13cea8e..b5de1669 100644 --- a/Assets/Scripts/Studio/UI/Canvas/Canvas_Static.cs +++ b/Assets/Scripts/Studio/UI/Canvas/Canvas_Static.cs @@ -29,8 +29,11 @@ namespace Studio.UI panel_studiotopbar.onClickNewProject += projectManager.TopMenuNewProjectSettingData; panel_studiotopbar.onClickOpenProject += projectManager.TopMenuOpenProjectSettingData; + panel_studiotopbar.onClickExit += () => CommandInvoker.instance.Invoke(new ExitProgramCommand()); panel_studiotopbar.onClickSaveProject += () => CommandInvoker.instance.Invoke(new SaveProjectCommand()); + panel_studiotopbar.onClickClose += () => CommandInvoker.instance.Invoke(new ExitProgramCommand()); + } } } diff --git a/Assets/Scripts/Studio/UI/Panel/Panel_StudioTopBar.cs b/Assets/Scripts/Studio/UI/Panel/Panel_StudioTopBar.cs index 3503dadb..264109be 100644 --- a/Assets/Scripts/Studio/UI/Panel/Panel_StudioTopBar.cs +++ b/Assets/Scripts/Studio/UI/Panel/Panel_StudioTopBar.cs @@ -20,7 +20,7 @@ namespace Studio.UI public event Action onClickSaveProject; public event Action onClickSaveAsProject; public event Action onClickExit; - public event Action onClickDataStorage; + /*Window*/ public Button Button_DataStorage; @@ -28,7 +28,8 @@ namespace Studio.UI public Button Button_AssetLibraryWindow; public Button Button_HierarchyWindow; - public event Action onClickAssetManager; + public event Action onClickDataStorage; + public event Action onClickDataUpdateSetting; public event Action onClickAssetLibraryWindow; public event Action onClickHierarchyWindow; @@ -42,6 +43,14 @@ namespace Studio.UI public Button Button_Build; public Button Button_Run; + public event Action onClickBuild; + public event Action onClickRun; + + /*Window*/ + public Button Button_Close; + + public event Action onClickClose; + public override void AfterAwake() { Button_NewProject.onClick.AddListener(OnClickNewProject); @@ -59,11 +68,13 @@ namespace Studio.UI Button_AuthSetting.onClick.AddListener(OnClickAuthSetting); Button_APISetting.onClick.AddListener(OnClickAPISetting); Button_MQTTSetting.onClick.AddListener(OnClickMQTTSetting); - Button_AssetSetting.onClick.AddListener(OnClickAssetManager); + Button_AssetSetting.onClick.AddListener(OnClickAssetSetting); Button_Build.onClick.AddListener(OnClickBuild); Button_Run.onClick.AddListener(OnClickRun); + + Button_Close.onClick.AddListener(OnClickClose); } private void OnClickMQTTSetting() @@ -89,6 +100,11 @@ namespace Studio.UI Debug.Log("On TopMenu Click App Setting"); CanvasManager.instance.GetCanvas().panel_appsetting.SetActive(true); } + void OnClickAssetSetting() + { + Debug.Log("On Click Asset Manager"); + CanvasManager.instance.GetCanvas().panel_assetsetting.SetActive(true); + } private void OnClickNewProject() { @@ -129,14 +145,10 @@ namespace Studio.UI private void OnClickDataUpdateSetting() { Debug.Log("On Click Data Update Setting"); - onClickSaveProject?.Invoke(); + onClickDataUpdateSetting?.Invoke(); } - void OnClickAssetManager() - { - Debug.Log("On Click Asset Manager"); - onClickAssetManager?.Invoke(); - } + void OnClickAssetLibraryWindow() { @@ -154,13 +166,18 @@ namespace Studio.UI private void OnClickBuild() { Debug.Log("On Click Build"); - onClickSaveAsProject?.Invoke(); + onClickBuild?.Invoke(); } private void OnClickRun() { Debug.Log("On Click Run"); - onClickExit?.Invoke(); + onClickRun?.Invoke(); + } + private void OnClickClose() + { + Debug.Log("On Click Close"); + onClickClose?.Invoke(); } } } diff --git a/Assets/Scripts/Studio/UI/Panel/Panel_TopMenuOpenProjectInfo.cs b/Assets/Scripts/Studio/UI/Panel/Panel_TopMenuOpenProjectInfo.cs index e9d589ed..4b32cc3f 100644 --- a/Assets/Scripts/Studio/UI/Panel/Panel_TopMenuOpenProjectInfo.cs +++ b/Assets/Scripts/Studio/UI/Panel/Panel_TopMenuOpenProjectInfo.cs @@ -1,4 +1,5 @@ using System; +using System.IO; using TMPro; using TriLibCore.SFB; using UnityEngine; @@ -37,6 +38,11 @@ namespace Studio.UI private void OnClickOpen() { + var projectPath = GetProjectRoute(); + + if (!IsPathVaild(projectPath)) + return; + onClickOpen?.Invoke(); } @@ -54,5 +60,19 @@ namespace Studio.UI var route = InputField_ProjectRoute.text; return route; } + private bool IsPathVaild(string path) + { + if (path == string.Empty) + { + Debug.Log("The project path entry field is empty"); + return false; + } + else if (!File.Exists(path)) + { + Debug.Log("The path you entered is not a valid path"); + return false; + } + return true; + } } } -- 2.48.1.windows.1