Ejemplo n.º 1
0
        private void SetAnimationInternal(Animation animation, bool loop, QueueEntry entry)
        {
            previous = null;
            if (current != null) {
                if (currentQueueEntry != null) currentQueueEntry.OnEnd(this);
                if (End != null) End(this, EventArgs.Empty);

                if (animation != null) {
                    mixDuration = data.GetMix(current, animation);
                    if (mixDuration > 0) {
                        mixTime = 0;
                        previous = current;
                        previousTime = currentTime;
                        previousLoop = currentLoop;
                    }
                }
            }
            current = animation;
            currentLoop = loop;
            currentTime = 0;
            currentLastTime = 0;
            currentQueueEntry = entry;

            if (currentQueueEntry != null) currentQueueEntry.OnStart(this);
            if (Start != null) Start(this, EventArgs.Empty);
        }