Files
aibis-dream/Assets/Scripts/Dialog System/DialogueInterrupter.cs
T

38 lines
1.3 KiB
C#

using AibisDream;
using UnityEngine;
using Yarn.Unity;
public class DialogueInterrupter : MonoBehaviour
{
//public DialogueRunner originalDialogueRunner; // 原始 DialogueRunner
public DialogueRunner newDialogueRunnerPrefab; // 新的 DialogueRunner 预制体
public YarnProject originalProject; // 原始 YarnProject
public YarnProject newProject; // 新的 YarnProject
// 触发新对话并启动新的 DialogueRunner
public void StartNewDialogue(string nodeName)
{
// 创建新的 DialogueRunner 实例
DialogueRunner newDialogueRunner = Instantiate(newDialogueRunnerPrefab);
// 将新的 YarnProject 分配给新的 DialogueRunner
newDialogueRunner.yarnProject = newProject;
// 开始新的对话
newDialogueRunner.StartDialogue(nodeName);
// 可选:关闭原始对话或保持原对话继续运行
//originalDialogueRunner.Stop();
}
// 恢复原始对话
// public void RestoreOriginalDialogue()
// {
// // 恢复原始 DialogueRunner
// originalDialogueRunner.StartDialogue("StartNode");
// // 你可以选择关闭新对话的 DialogueRunner,或保留它继续运行
// Destroy(newDialogueRunnerPrefab.gameObject); // 删除新对话的 Runner 实例
// }
}