using System.Linq; using Sirenix.Utilities; using UnityEngine.Timeline; namespace Gameplay.Story { public class TimelineTrackWrapper 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; } } }