public void SetData(TimelineData data) { Data = data; int maxActionIndex = 0; foreach (var track in data.Tracks) { foreach (var action in track.Actions) { if (action.Index > maxActionIndex) { maxActionIndex = action.Index; } } } setting.MaxActionIndex = maxActionIndex; trackDrawers.Clear(); selectedTrackIndex = -1; for (int i = 0; i < data.Tracks.Count; ++i) { TracklineDrawer tracklineDrawer = new TracklineDrawer(this); tracklineDrawer.SetData(data.Tracks[i]); trackDrawers.Add(tracklineDrawer); } }
internal void OnTrackAdded(TracklineData tracklineData, int insertIndex = -1) { if (insertIndex < 0) { insertIndex = trackDrawers.Count; } TracklineDrawer tracklineDrawer = new TracklineDrawer(this); tracklineDrawer.SetData(tracklineData); Data.Tracks.Insert(insertIndex, tracklineData); trackDrawers.Insert(insertIndex, tracklineDrawer); }