コード例 #1
0
        // 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]);
            }
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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());
        }
コード例 #4
0
        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);
            }
        }
コード例 #5
0
        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);
            }
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        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);
            }
        }
コード例 #8
0
 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);
     }
 }
コード例 #9
0
        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);
                }
            }
        }