public LittleMarioState() { Sprite = MarioSpriteFactory.Instance.CreateLittleMarioIdleSprite(); }
public DeadMarioState() { Sprite = MarioSpriteFactory.Instance.CreateDeadMarioSprite(); }
public bool ChangeStateAnimation(Mario mario, IMarioSprite initialSprite, IMarioSprite finalSprite) { bool finished = false; int firstFrameChangeRotation = totalFrames * 1 / 5; int secondFrameChangeRotation = totalFrames * 2 / 5; int thirdFrameChangeRotation = totalFrames * 3 / 5; int fourthFrameChangeRotation = totalFrames * 4 / 5; if (frameTimer < totalFrames) { if (frameTimer < firstFrameChangeRotation) { if (frameTimer == 0) { mario.location.Y -= transformationDisplacement; } mario.SetIMarioSprite(finalSprite); mario.dimensions.Y = MarioUtility.marioNormalHeight; mario.dimensions.X = MarioUtility.marioNormalWidth; } else if (frameTimer < secondFrameChangeRotation) { if (frameTimer == firstFrameChangeRotation) { mario.location.Y += transformationDisplacement; } mario.SetIMarioSprite(initialSprite); mario.dimensions.Y = MarioUtility.marioSmallHeight; mario.dimensions.X = MarioUtility.marioSmallWidth; } else if (frameTimer < thirdFrameChangeRotation) { if (frameTimer == secondFrameChangeRotation) { mario.location.Y -= transformationDisplacement; } mario.SetIMarioSprite(finalSprite); mario.dimensions.Y = MarioUtility.marioNormalHeight; mario.dimensions.X = MarioUtility.marioNormalWidth; } else if (frameTimer < fourthFrameChangeRotation) { if (frameTimer == thirdFrameChangeRotation) { mario.location.Y += transformationDisplacement; } mario.SetIMarioSprite(initialSprite); mario.dimensions.Y = MarioUtility.marioSmallHeight; mario.dimensions.X = MarioUtility.marioSmallWidth; } else { if (frameTimer == fourthFrameChangeRotation) { mario.location.Y -= transformationDisplacement; } mario.SetIMarioSprite(finalSprite); mario.dimensions.Y = MarioUtility.marioNormalHeight; mario.dimensions.X = MarioUtility.marioNormalWidth; } frameTimer++; if (frameTimer == totalFrames) { finished = true; frameTimer = 0; } } return(finished); }
public void SetIMarioSprite(IMarioSprite newSprite) { marioSprite = newSprite; }