AnimationTimelineClip.cs 639 B

123456789101112131415161718192021
  1. using System;
  2. using UnityEngine;
  3. using UnityEngine.Playables;
  4. using UnityEngine.Timeline;
  5. namespace UnityUIPlayables
  6. {
  7. [Serializable]
  8. public abstract class AnimationTimelineClip<TAnimationBehaviour> : PlayableAsset, ITimelineClipAsset
  9. where TAnimationBehaviour : AnimationBehaviour, new()
  10. {
  11. public TAnimationBehaviour template = new TAnimationBehaviour();
  12. public ClipCaps clipCaps => ClipCaps.Blending;
  13. public override Playable CreatePlayable(PlayableGraph graph, GameObject owner)
  14. {
  15. return ScriptPlayable<TAnimationBehaviour>.Create(graph, template);
  16. }
  17. }
  18. }