示例#1
0
        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);
        }
示例#2
0
 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);
         }
     }
 }
示例#3
0
        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);
        }