Exemplo n.º 1
0
 private void AddNextAction(AnimatedMovement nextAction)
 {
     if (currentActions.Count == 0)
     {
         nextAction.Start();
     }
     if (IsIdle())
     {
         nextAction.Origin = currentActions.Dequeue().Movement.Position;
         nextAction.Start();
     }
     currentActions.Enqueue(nextAction);
 }
Exemplo n.º 2
0
        public virtual void Update(float passedTime)
        {
            if (child != null)
            {
                if (child.IsFinalized())
                {
                    child.Finish();
                }

                if (animation.IsFinalized() || movement.IsFinalized())
                {
                    Finish();
                }

                if (child.Animation.Status == AnimationStatus.StandBy &&
                    (animation.IsFinalized() || Animation.IsReady || movement.IsFinalized()))
                {
                    child.Movement.Origin = Movement.Destiny;
                    child.Start();
                }

                child.Update(passedTime);
            }

            movement.Update(passedTime);
            animation.Position = movement.Position;
            animation.Update(passedTime);
        }
Exemplo n.º 3
0
        public void RemoveActualAnimatedMovement()
        {
            if (currentActions.Count > 0)
            {
                AnimatedMovement action = currentActions.Dequeue();
                if (currentActions.Count == 0)
                {
                    if (DefaultDirection == DefaultDirection.Right)
                    {
                        AddAnimatedMovement(AnimationType.StaticRight, action.Animation.Position);
                    }
                    else
                    {
                        AddAnimatedMovement(AnimationType.StaticLeft, action.Animation.Position);
                    }
                }

                AnimatedMovement nextAction = currentActions.Peek();
                nextAction.Origin = action.Movement.Position;
                action.Finish();
                nextAction.Start();
            }
        }