public GeneratedCommand([NotNull] CommandTimeline <T> .TypedCommand command, [CanBeNull] DrawablePropertyInitializer <T> initializeProperty, [NotNull] DrawableTransformer <T> transform)
 {
     this.command            = command;
     this.initializeProperty = initializeProperty;
     this.transform          = transform;
 }
Example #2
0
        private void applyCommands <T>(Drawable drawable, IEnumerable <CommandTimeline <T> .TypedCommand> commands, DrawablePropertyInitializer <T> initializeProperty, DrawableTransformer <T> transform, bool alwaysInitialize = true)
            where T : struct
        {
            var initialized = false;

            foreach (var command in commands.OrderBy(l => l))
            {
                if (!initialized)
                {
                    if (alwaysInitialize || command.StartTime == command.EndTime)
                    {
                        initializeProperty.Invoke(drawable, command.StartValue);
                    }
                    initialized = true;
                }

                using (drawable.BeginAbsoluteSequence(command.StartTime))
                {
                    transform(drawable, command.StartValue, 0, Easing.None);
                    transform(drawable, command.EndValue, command.Duration, command.Easing);
                }
            }
        }
        private void generateCommands <T>(List <IGeneratedCommand> resultList, IEnumerable <CommandTimeline <T> .TypedCommand> commands,
                                          DrawablePropertyInitializer <T> initializeProperty, DrawableTransformer <T> transform, bool alwaysInitialize = true)
        {
            bool initialized = false;

            foreach (var command in commands)
            {
                DrawablePropertyInitializer <T> initFunc = null;

                if (!initialized)
                {
                    if (alwaysInitialize || command.StartTime == command.EndTime)
                    {
                        initFunc = initializeProperty;
                    }
                    initialized = true;
                }

                resultList.Add(new GeneratedCommand <T>(command, initFunc, transform));
            }
        }