Files
aibis-dream/Assets/Scripts/Dialog System/BaseYarnCommand.cs
T
2025-03-01 16:05:51 +08:00

107 lines
3.1 KiB
C#

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);
AudioManager.PlayAmb2Audio("amb_general");
}
[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<DialogViewType>(viewerTypeStr);
DialogCanvasManager.Instance.SwitchDialogView(viewType);
}
#endregion
}
}