-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTimeMachineClip.cs
37 lines (31 loc) · 1.24 KB
/
TimeMachineClip.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using System;
using UnityEngine;
using UnityEngine.Playables;
using UnityEngine.Timeline;
namespace neo.timelineExtensions
{
[Serializable]
public class TimeMachineClip : PlayableAsset, ITimelineClipAsset
{
[HideInInspector]
public TimeMachineBehaviour template = new TimeMachineBehaviour();
public TimeMachineBehaviour.TimeMachineAction action;
public TimeMachineCondition condition;
public string markerToJumpTo = "", markerLabel = "";
public float timeToJumpTo = 0f;
public ExposedReference<TimelineConditional> interactionDetector;
public ClipCaps clipCaps => ClipCaps.None;
public override Playable CreatePlayable(PlayableGraph graph, GameObject owner)
{
var playable = ScriptPlayable<TimeMachineBehaviour>.Create(graph, template);
TimeMachineBehaviour clone = playable.GetBehaviour();
clone.markerToJumpTo = markerToJumpTo;
clone.conditionalBehaviour = interactionDetector.Resolve(graph.GetResolver());
clone.action = action;
clone.condition = condition;
clone.markerLabel = markerLabel;
clone.timeToJumpTo = timeToJumpTo;
return playable;
}
}
}