Exemplo n.º 1
0
        public bool ChangeStateAnimation(Mario mario)
        {
            bool finished = false;

            if (frameTimer < totalFrames)
            {
                frameTimer++;
                if (frameTimer == firstFrame)
                {
                    if (mario.GetState().Equals((MarioState.LARGE)))
                    {
                        mario.state       = new RightRunningBigMarioState(mario);
                        mario.marioSprite = new RightRunningLargeMario();
                    }
                    else if (mario.GetState().Equals((MarioState.FIRE)))
                    {
                        mario.state       = new RightRunningFireMarioState(mario);
                        mario.marioSprite = new RightRunningFireMario();
                    }
                    else
                    {
                        mario.state       = new RightRunningSmallMarioState(mario);
                        mario.marioSprite = new RightRunningSmallMario();
                    }
                }

                mario.MoveX(walkingVelo);
                mario.marioSprite.Update(true);
                if (frameTimer == totalFrames)
                {
                    finished = true;
                }
            }
            else
            {
                mario.location.X = offScreen;
                mario.location.Y = offScreen;
            }
            return(finished);
        }