Files
aibis-dream/Assets/Scripts/MiniGame/HuoShan/NewExpress/LanguageImaginationYarnCommand.cs
T
2025-11-03 18:24:38 +08:00

56 lines
1.7 KiB
C#

using System.Collections;
using Yarn.Unity;
using UnityEngine;
namespace AibisDream.MiniGame.HuoShan
{
/// <summary>
/// 语言想象系统Yarn指令
/// </summary>
public static class LanguageImaginationYarnCommand
{
private static LanguageImaginationSystem GetSystem()
{
// 尝试从场景中查找LanguageImaginationSystem
LanguageImaginationSystem system = Object.FindObjectOfType<LanguageImaginationSystem>();
if (system == null)
{
Debug.LogError("[LanguageImaginationYarnCommand] 未找到LanguageImaginationSystem组件!请在场景中添加该组件。");
}
return system;
}
/// <summary>
/// 开始构建句子
/// </summary>
/// <param name="sentence">要构建的句子</param>
/// <param name="stuckIndex">卡壳位置(从0开始,-1表示不卡壳)</param>
[YarnCommand("language_imagine")]
public static IEnumerator LanguageImagine(string sentence, int stuckIndex = -1)
{
var system = GetSystem();
if (system != null)
{
system.StartSentence(sentence, stuckIndex);
// 等待句子构建完成(这里可以添加更复杂的等待逻辑)
yield return new WaitForSeconds(0.1f);
}
}
/// <summary>
/// 停止构建句子
/// </summary>
[YarnCommand("language_imagine_stop")]
public static void LanguageImagineStop()
{
var system = GetSystem();
if (system != null)
{
system.StopSentence();
}
}
}
}