public void Dead() { if (!luigiIsInvincible) { //dead overrides pretty much everything CurrentSprite = new Sprites.LuigiDeadSprite(); CurrentState = LuigiStates.Dead; } }
public void Crouch() { if (CurrentState != LuigiStates.Dead) { CurrentState = LuigiStates.Crouching; if (luigiHasFire) CurrentSprite = new Sprites.LuigiFireCrouchingSprite(); else if (luigiIsLarge) CurrentSprite = new Sprites.LuigiLargeCrouchingSprite(); } }
public LuigiState(Luigi luigi, Camera cam) { //assume that we're starting in a small standing luigi state untill the first command comes. CurrentSprite = new Sprites.LuigiSmallStandingSprite(); facing = SpriteEffects.None; luigiIsLarge = false; luigiHasFire = false; luigiHasStar = false; luigiIsInvincible = false; invincibleCounter = 0; myLuigi = luigi; CurrentState = LuigiStates.Standing; camera = cam; hitCounter = Constants.hitTimeout; itemCounter = Constants.itemTimeout; starDrawCounter = 0; }
private void reloadSprite() { switch (CurrentState) { case LuigiStates.Crouching: Crouch(); break; case LuigiStates.Dead: Dead(); break; case LuigiStates.Jumping: Jump(); break; case LuigiStates.ShootingFireball: ShootFireball(); break; case LuigiStates.Sliding: Slide(); break; case LuigiStates.Standing: Stand(); break; case LuigiStates.Walking: CurrentState = LuigiStates.Standing; //have to take it out of walking state to force a sprite reload. Walk(); break; } }
public void Walk() { if (CurrentState != LuigiStates.Walking && CurrentState != LuigiStates.Dead) { CurrentState = LuigiStates.Walking; if (luigiHasFire) CurrentSprite = Sprites.SpriteFactory.LuigiFireWalking; else if (luigiIsLarge) CurrentSprite = Sprites.SpriteFactory.LuigiLargeWalking; else CurrentSprite = Sprites.SpriteFactory.LuigiSmallWalking; } }
public void Stand() { if (CurrentState != LuigiStates.Dead) { CurrentState = LuigiStates.Standing; if (luigiHasFire) CurrentSprite = new Sprites.LuigiFireStandingSprite(); else if (luigiIsLarge) CurrentSprite = new Sprites.LuigiLargeStandingSprite(); else CurrentSprite = new Sprites.LuigiSmallStandingSprite(); } }
// Nothing currently calls this because we don't have a sprite that shows him throwing a fireball public void ShootFireball() { if (CurrentState != LuigiStates.Dead && luigiHasFire) { CurrentState = LuigiStates.ShootingFireball; CurrentSprite = new Sprites.LuigiFireBallingSprite(); } }
public void Jump() { //because crouch jumping /is/ a thing, crouch overrides jump as far as displayed sprite. if (CurrentState != LuigiStates.Dead && CurrentState != LuigiStates.Crouching) { CurrentState = LuigiStates.Jumping; if (luigiHasFire) CurrentSprite = new Sprites.LuigiFireJumpingSprite(); else if (luigiIsLarge) CurrentSprite = new Sprites.LuigiLargeJumpingSprite(); else CurrentSprite = new Sprites.LuigiSmallJumpingSprite(); } }