using System; using System.Collections; using AibisDream.Framework; using Yarn.Unity; namespace AibisDream { public static class BaseYarnCommand { #region 命令名 [YarnCommand("NextYarn")] public static void NextYarn() { EnumEventSystem.Global.Send(EventEnum.NextYarn); DialogController.Instance.ClearVariables(); DialogController.Instance.StartCoroutine(GameLoopManager.Instance.NextSceneSo()); } [YarnCommand("BackToMenu")] public static void BackToMenu() { StartMenu.Instance.BackToMenu(); } [YarnCommand("OpenEndMenu")] public static void OpenEndMenu() { EndMenu.Instance.OpenEndMenu(); } [YarnCommand("switch_tv")] public static void SwitchTV(string picName) { MainUIController.Instance.SwitchTV(picName); } [YarnCommand("show_tv_scene")] public static void ShowTVScene(float duration) { MainUIController.Instance.TVFadeIn(duration); } [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(sceneName); } [YarnCommand("hide_dialog")] public static void HideDialog() { DialogCanvasManager.Instance.HideDialog(); } [YarnCommand("fade_in")] public static IEnumerator FadeIn(float duration = 1) { return MainUIController.Instance.FadeInSync(duration); } [YarnCommand("fade_out")] public static IEnumerator FadeOut(float duration = 1) { return MainUIController.Instance.FadeOutSync(duration); } [YarnCommand("show_obj")] public static IEnumerator ShowObj(string picName) { return MainUIController.Instance.ShowObj(picName); } [YarnCommand("hide_obj")] public static IEnumerator HideObj() { return MainUIController.Instance.HideObj(); } [YarnCommand("show_full_screen")] public static IEnumerator ShowFullScreen(string picName) { return MainUIController.Instance.ShowFullScreen(picName); } [YarnCommand("hide_full_screen")] public static IEnumerator HideFullScreen() { return MainUIController.Instance.HideFullScreen(); } [YarnCommand("switch_dialog_viewer")] public static void SwitchDialogViewer(string viewerTypeStr) { var viewType = Enum.Parse(viewerTypeStr); DialogCanvasManager.Instance.SwitchDialogView(viewType); } #endregion } }