Example #1
0
        protected virtual void AnimateElements()
        {
            Diagram.Suspend();

            foreach (Element element in Diagram.RenderList)
            {
                if (element is IAnimatable)
                {
                    IAnimatable animatable = (IAnimatable)element;

                    if (animatable.Animation != null)
                    {
                        Animation animate = animatable.Animation;

                        //Set the animator reference
                        if (animate.Animator == null)
                        {
                            animate.SetAnimator(this);
                        }

                        //Animate shape if stop is zero or stop is set to this stop
                        if (animate.NextTick <= mTick)
                        {
                            animate.OnAnimateElement(element);
                            animate.IncrementFrame();
                            animate.SetNextTick(mTick + Convert.ToInt64((FrameRate / animate.FramesPerSecond)));
                        }
                    }
                }
            }

            Diagram.Resume();
            Diagram.Invalidate();
        }