56 lines
1.7 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|