public GeneratedCommand([NotNull] CommandTimeline <T> .TypedCommand command, [CanBeNull] DrawablePropertyInitializer <T> initializeProperty, [NotNull] DrawableTransformer <T> transform) { this.command = command; this.initializeProperty = initializeProperty; this.transform = transform; }
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)); } }