Beispiel #1
0
 public void Dead()
 {
     if (!luigiIsInvincible)
     {
         //dead overrides pretty much everything
         CurrentSprite = new Sprites.LuigiDeadSprite();
         CurrentState = LuigiStates.Dead;
     }
 }
Beispiel #2
0
 public void Crouch()
 {
     if (CurrentState != LuigiStates.Dead)
     {
         CurrentState = LuigiStates.Crouching;
         if (luigiHasFire)
             CurrentSprite = new Sprites.LuigiFireCrouchingSprite();
         else if (luigiIsLarge)
             CurrentSprite = new Sprites.LuigiLargeCrouchingSprite();
     }
 }
Beispiel #3
0
 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;
 }
Beispiel #4
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;
     }
 }
Beispiel #5
0
 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;
     }
 }
Beispiel #6
0
 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();
     }
 }
Beispiel #7
0
 // 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();
     }
 }
Beispiel #8
0
 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();
     }
 }