private IEnumerable <CommandTimeline <T> .TypedCommand> getCommands <T>(CommandTimelineSelector <T> timelineSelector, IEnumerable <Tuple <CommandTimelineGroup, double> > triggeredGroups) { var commands = TimelineGroup.GetCommands(timelineSelector); foreach (var loop in loops) { commands = commands.Concat(loop.GetCommands(timelineSelector)); } if (triggeredGroups != null) { foreach (var pair in triggeredGroups) { commands = commands.Concat(pair.Item1.GetCommands(timelineSelector, pair.Item2)); } } return(commands); }
public override IEnumerable <CommandTimeline <T> .TypedCommand> GetCommands <T>(CommandTimelineSelector <T> timelineSelector, double offset = 0) { for (var loop = 0; loop < TotalIterations; loop++) { var loopOffset = LoopStartTime + loop * CommandsDuration; foreach (var command in base.GetCommands(timelineSelector, offset + loopOffset)) { yield return(command); } } }
public virtual IEnumerable <CommandTimeline <T> .TypedCommand> GetCommands <T>(CommandTimelineSelector <T> timelineSelector, double offset = 0) { if (offset != 0) { return(timelineSelector(this).Commands.Select(command => new CommandTimeline <T> .TypedCommand { Easing = command.Easing, StartTime = offset + command.StartTime, EndTime = offset + command.EndTime, StartValue = command.StartValue, EndValue = command.EndValue, })); } return(timelineSelector(this).Commands); }