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)