using System; using System.Collections; using AibisDream.Framework; using AibisDream.UI; using UnityEngine; using Yarn.Unity; namespace AibisDream { public static class BaseYarnCommand { #region 命令名 [YarnCommand("NextYarn")] public static void NextYarn() { EnumEventSystem.Global.Send(EventEnum.NextYarn); StorageSystem.Instance.ClearLocal(); DialogController.Instance.StartCoroutine(GameManager.Instance.NextSceneSo()); } [YarnCommand("OpenEndMenu")] public static void OpenEndMenu() { UIManager.Instance.ShowPanel(); } [Obsolete] [YarnCommand("switch_tv")] public static void SwitchTV(string picName) { Debug.Log("switch_tv 已废弃"); } [Obsolete] [YarnCommand("show_tv_scene")] public static void ShowTVScene(float duration) { Debug.Log("show_tv_scene 已废弃"); } [YarnCommand("load_scene")] public static IEnumerator LoadScene(string sceneName, float duration = 1) { HideDialog(); yield return SceneLoader.Instance.LoadSceneAsync(sceneName); } [YarnCommand("unload_scene")] public static IEnumerator UnloadScene(string sceneName) { yield return SceneLoader.Instance.UnloadSceneAsync(); } [YarnCommand("hide_dialog")] public static void HideDialog() { BubbleGroup.Instance.HideDialog(); } [YarnCommand("fade_in")] public static IEnumerator FadeIn(float duration = 1) { var panel = UIManager.Instance.GetPanel(); return panel.FadeInAsync(duration); } [YarnCommand("fade_out")] public static IEnumerator FadeOut(float duration = 1) { var panel = UIManager.Instance.GetPanel(); return panel.FadeOutAsync(duration); } [YarnCommand("fade_in_sync")] public static void FadeInSync(float duration = 1) { var panel = UIManager.Instance.GetPanel(); panel.FadeInSync(duration); } [YarnCommand("fade_out_sync")] public static void FadeOutSync(float duration = 1) { var panel = UIManager.Instance.GetPanel(); panel.FadeOutSync(duration); } [YarnCommand("show_obj")] public static IEnumerator ShowObj(string picName) { var panel = UIManager.Instance.GetPanel(); return panel.ShowObj(picName); } [YarnCommand("hide_obj")] public static IEnumerator HideObj() { var panel = UIManager.Instance.GetPanel(); return panel.HideObj(); } [YarnCommand("show_full_screen")] public static IEnumerator ShowFullScreen(string picName) { var panel = UIManager.Instance.GetPanel(); return panel.ShowFullScreen(picName); } [YarnCommand("hide_full_screen")] public static IEnumerator HideFullScreen() { var panel = UIManager.Instance.GetPanel(); return panel.HideFullScreen(); } [YarnCommand("open_progress_window")] public static IEnumerator OpenProgressWindow(string title, string description, float duration) { var panel = UIManager.Instance.GetPanel(); return panel.OpenProgressWindow(title, description, duration); } [YarnCommand("open_warning_window")] public static IEnumerator OpenWarningWindow(string description) { var panel = UIManager.Instance.GetPanel(); return panel.OpenWarningWindow(description); } [YarnCommand("flash_red")] public static IEnumerator FlashRed(float duration = 0.2f) { var panel = UIManager.Instance.GetPanel(); return panel.FlashRed(duration); } [YarnCommand("show_sign_board")] public static void ShowSignBoard(bool enable = true) { var panel = UIManager.Instance.GetPanel(); panel.ShowSignBoard(); if (enable) { panel.EnableSignBoard(); } } [YarnCommand("enable_sign_board")] public static void EnableSignBoard() { var panel = UIManager.Instance.GetPanel(); panel.EnableSignBoard(); } [YarnCommand("close_sign_board")] public static void CloseSignBoard() { var panel = UIManager.Instance.GetPanel(); panel.CloseSignBoard(); } #endregion } }