From f25674a0435b2da08c2231cc4536bdb6dd25fab6 Mon Sep 17 00:00:00 2001 From: Ding Yuntian <1491671119@qq.com> Date: Mon, 29 Jun 2026 19:31:48 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=AD=A3=E5=9C=BA=E6=99=AF?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E5=8F=82=E6=95=B0=E5=B9=B6=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=B1=95=E7=A4=BA=E9=9A=90=E8=97=8F=E6=97=B6=E9=97=B4=E6=8E=A7?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Scripts/Dialog System/BaseYarnCommand.cs | 20 +++++++++--------- Assets/Scripts/UI/Panel/PlayToolPanel.cs | 21 ++++++++++++------- 2 files changed, 23 insertions(+), 18 deletions(-) diff --git a/Assets/Scripts/Dialog System/BaseYarnCommand.cs b/Assets/Scripts/Dialog System/BaseYarnCommand.cs index faf3ab03b..64785e84e 100644 --- a/Assets/Scripts/Dialog System/BaseYarnCommand.cs +++ b/Assets/Scripts/Dialog System/BaseYarnCommand.cs @@ -26,14 +26,14 @@ namespace AibisDream } [YarnCommand("load_scene")] - public static IEnumerator LoadScene(string sceneName, float duration = 1) + public static IEnumerator LoadScene(string sceneName) { HideDialog(); yield return SceneLoader.Instance.LoadSceneAsync(sceneName); } [YarnCommand("unload_scene")] - public static IEnumerator UnloadScene(string sceneName) + public static IEnumerator UnloadScene() { yield return SceneLoader.Instance.UnloadSceneAsync(); } @@ -73,17 +73,17 @@ namespace AibisDream } [YarnCommand("show_obj")] - public static IEnumerator ShowObj(string picName) + public static IEnumerator ShowObj(string picName, float duration = 1) { var panel = UIManager.Instance.GetPanel(); - return panel.ShowObj(picName); + return panel.ShowObj(picName, duration); } [YarnCommand("hide_obj")] - public static IEnumerator HideObj() + public static IEnumerator HideObj(float duration = 1) { var panel = UIManager.Instance.GetPanel(); - return panel.HideObj(); + return panel.HideObj(duration); } [YarnCommand("show_sprite")] @@ -141,17 +141,17 @@ namespace AibisDream } [YarnCommand("show_full_screen")] - public static IEnumerator ShowFullScreen(string picName) + public static IEnumerator ShowFullScreen(string picName, float duration = 1) { var panel = UIManager.Instance.GetPanel(); - return panel.ShowFullScreen(picName); + return panel.ShowFullScreen(picName, duration); } [YarnCommand("hide_full_screen")] - public static IEnumerator HideFullScreen() + public static IEnumerator HideFullScreen(float duration = 1) { var panel = UIManager.Instance.GetPanel(); - return panel.HideFullScreen(); + return panel.HideFullScreen(duration); } [YarnCommand("open_progress_window")] diff --git a/Assets/Scripts/UI/Panel/PlayToolPanel.cs b/Assets/Scripts/UI/Panel/PlayToolPanel.cs index 1f6e00de3..711364906 100644 --- a/Assets/Scripts/UI/Panel/PlayToolPanel.cs +++ b/Assets/Scripts/UI/Panel/PlayToolPanel.cs @@ -120,8 +120,9 @@ namespace AibisDream.UI /// 显示物体 /// /// 协程 - public IEnumerator ShowObj(string picName) + public IEnumerator ShowObj(string picName, float duration = 1) { + _showObjImage.color = Color.clear; _showObjPanel.gameObject.SetActive(true); var key = string.Format(ObjSpritePath, NormalizeObjPicName(picName)); @@ -151,17 +152,20 @@ namespace AibisDream.UI // 淡入 _showObjImage.sprite = newSprite; - yield return _showObjImage.FadeInAsync(1); + yield return _showObjImage.FadeInAsync(duration); } - public IEnumerator HideObj() + public IEnumerator HideObj(float duration = 1) { - yield return _showObjImage.FadeOutAsync(1); + yield return _showObjImage.FadeOutAsync(duration); _showObjPanel.SetActive(false); } - public IEnumerator ShowFullScreen(string picName) + public IEnumerator ShowFullScreen(string picName, float duration = 1) { + _fullScreenImage.color = Color.clear; + _fullScreenImage.gameObject.SetActive(true); + var key = string.Format(ObjSpritePath, NormalizeObjPicName(picName)); var handle = ResourceSystem.LoadAsync(key); yield return handle; @@ -174,12 +178,13 @@ namespace AibisDream.UI _fullScreenImage.sprite = handle.Result; // 淡入 - yield return _fullScreenImage.FadeInAsync(1); + yield return _fullScreenImage.FadeInAsync(duration); } - public IEnumerator HideFullScreen() + public IEnumerator HideFullScreen(float duration = 1) { - return _fullScreenImage.FadeOutAsync(1); + yield return _fullScreenImage.FadeOutAsync(duration); + _fullScreenImage.gameObject.SetActive(false); } public IEnumerator OpenProgressWindow(string title, string description, float duration)