using NodeCanvas.Framework; using UnityEngine.Playables; namespace BITKit.NodeCanvas.Timeline { public class PlayTimeline : ActionTask { public BBParameter waitUntilFinish; protected override void OnExecute() { base.OnExecute(); if(waitUntilFinish.value) { agent.stopped += OnPlayEnd; } agent.time = 0; agent.Play(); } protected override void OnStop() { base.OnStop(); if (waitUntilFinish.value) { agent.stopped -= OnPlayEnd; } } private void OnPlayEnd(PlayableDirector obj) { EndAction(); } } }