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 实例 // } }