28 lines
650 B
C#
28 lines
650 B
C#
using System.Linq;
|
|
using Sirenix.Utilities;
|
|
using UnityEngine.Timeline;
|
|
namespace Gameplay.Story
|
|
{
|
|
public class TimelineTrackWrapper<T> where T : TrackAsset
|
|
{
|
|
public T trackAsset;
|
|
|
|
private TimelineClip[] _clips;
|
|
|
|
public TimelineTrackWrapper(T trackAsset)
|
|
{
|
|
this.trackAsset = trackAsset;
|
|
}
|
|
|
|
public TimelineClip[] GetClips()
|
|
{
|
|
if (_clips == null)
|
|
{
|
|
_clips = trackAsset.GetClips().ToArray();
|
|
_clips.Sort((a, b) => a.start.CompareTo(b.start));
|
|
}
|
|
return _clips;
|
|
}
|
|
}
|
|
}
|