// Method Start(TimelineContext) has to be overridden in subclasses, as we don't // know here when to start the child timelines. #region Animation control methods public override void Stop(TimelineContext context) { base.Stop(context); TimelineGroupContext tgc = (TimelineGroupContext)context; for (int i = 0; i < Children.Count; i++) { Children[i].Stop(tgc[i]); } }
public override void AddAllAnimatedProperties(TimelineContext context, IDictionary <IDataDescriptor, object> result) { TimelineGroupContext tgc = (TimelineGroupContext)context; for (int i = 0; i < Children.Count; i++) { Children[i].AddAllAnimatedProperties(tgc[i], result); } }
public override bool HasEnded(TimelineContext context) { if (base.HasEnded(context)) { return(true); } TimelineGroupContext tgc = (TimelineGroupContext)context; return(!Children.Where((t, i) => !t.HasEnded(tgc[i])).Any()); }
public override void Start(TimelineContext context, uint timePassed) { base.Start(context, timePassed); TimelineGroupContext tgc = (TimelineGroupContext)context; for (int i = 0; i < Children.Count; i++) { Children[i].Start(tgc[i], timePassed); } }
public override void Setup(TimelineContext context, IDictionary <IDataDescriptor, object> propertyConfigurations) { base.Setup(context, propertyConfigurations); TimelineGroupContext tgc = (TimelineGroupContext)context; for (int i = 0; i < Children.Count; i++) { Children[i].Setup(tgc[i], propertyConfigurations); } }
public override TimelineContext CreateTimelineContext(UIElement element) { TimelineGroupContext result = new TimelineGroupContext(element); foreach (Timeline line in Children) { TimelineContext childContext = line.CreateTimelineContext(element); result.Add(childContext); } return(result); }
internal override void DoAnimation(TimelineContext context, uint reltime) { base.DoAnimation(context, reltime); TimelineGroupContext tgc = (TimelineGroupContext)context; for (int i = 0; i < Children.Count; i++) { // Call Animate at the children, because the children have to do their own time management Children[i].Animate(tgc[i], reltime); } }
internal override void DoAnimation(TimelineContext context, uint reltime) { try { base.DoAnimation(context, reltime); TimelineGroupContext tgc = (TimelineGroupContext)context; for (int i = 0; i < Children.Count; i++) { // Call Animate at the children, because the children have to do their own time management Children[i].Animate(tgc[i], reltime); } } catch (Exception ex) { ServiceRegistration.Get <ILogger>().Error("Error executing animation", ex); } }
internal override void Ended(TimelineContext context) { base.Ended(context); TimelineGroupContext tgc = (TimelineGroupContext)context; for (int i = 0; i < Children.Count; i++) { Timeline child = Children[i]; TimelineContext childContext = tgc[i]; if (child.FillBehavior == Animations.FillBehavior.Stop) { child.Stop(childContext); } else { child.Ended(childContext); } } }