49 lines
1.5 KiB
C#
49 lines
1.5 KiB
C#
using System;
|
|
using UnityEngine;
|
|
using UnityEngine.Playables;
|
|
using UnityEngine.Timeline;
|
|
|
|
namespace FT.Timeline
|
|
{
|
|
public class DOTweenTrackMixerBehaviour : PlayableBehaviour
|
|
{
|
|
}
|
|
|
|
[Serializable]
|
|
[TrackColor(0.431f, 0.667f, 0.882f)]
|
|
[TrackClipType(typeof(DOTweenPlayableAsset))]
|
|
[TrackBindingType(typeof(RectTransform))]
|
|
[ExcludeFromPreset]
|
|
public class DOTweenTrack : TrackAsset
|
|
{
|
|
public override Playable CreateTrackMixer(PlayableGraph graph, GameObject go, int inputCount)
|
|
{
|
|
return ScriptPlayable<DOTweenTrackMixerBehaviour>.Create(graph, inputCount);
|
|
}
|
|
|
|
protected override void OnCreateClip(TimelineClip clip)
|
|
{
|
|
clip.displayName = "DOTween";
|
|
if (clip.asset is DOTweenPlayableAsset playableAsset)
|
|
{
|
|
clip.duration = playableAsset.duration;
|
|
}
|
|
base.OnCreateClip(clip);
|
|
}
|
|
|
|
#if UNITY_EDITOR
|
|
public override void GatherProperties(PlayableDirector director, IPropertyCollector driver)
|
|
{
|
|
var boundObject = director.GetGenericBinding(this) as RectTransform;
|
|
if (boundObject != null)
|
|
{
|
|
driver.AddFromName<RectTransform>(boundObject.gameObject, "m_AnchoredPosition.x");
|
|
driver.AddFromName<RectTransform>(boundObject.gameObject, "m_AnchoredPosition.y");
|
|
}
|
|
|
|
base.GatherProperties(director, driver);
|
|
}
|
|
#endif
|
|
}
|
|
}
|