public Track Build() { KeyframeBuilder previousKeyframeBuilder = null; foreach (var builder in keyframeBuilders.Values) { builder.previous = previousKeyframeBuilder; if (previousKeyframeBuilder != null) { previousKeyframeBuilder.next = builder; } previousKeyframeBuilder = builder; } var keyframes = new List <Track.Keyframe>(); foreach (var builder in keyframeBuilders.Values) { keyframes.Add(builder.Build()); } var track = new Track(); track.TargetRegion = region; track.ActorIndex = actorIndex; track.Keyframes = keyframes.ToArray(); return(track); }
private TrackBuilder AddKeyframeBuilder(KeyframeBuilder builder) { keyframeBuilders.Add(builder.time, builder); return(this); }