using UnityEngine; using UnityEngine.Playables; using UnityEngine.Timeline; using Yarn.Unity; namespace AibisDream { public class TimelineSignalReceiver : MonoBehaviour, INotificationReceiver { public string nodeToRunOnSignal = "TimelineFinished"; // Yarn 节点名称 public void OnNotify(Playable origin, INotification notification, object context) { Debug.Log($"Signal received: {notification.GetType().Name}"); if (notification is SignalEmitter signal) { Debug.Log($"Signal asset name: {signal.asset.name}"); if (signal.asset.name == "TimelineDone") { Debug.Log("Timeline done, triggering Yarn node: " + nodeToRunOnSignal); DialogController.Instance.StartDialogNode(nodeToRunOnSignal); } } } } }