示例#1
0
 private static void  CollideBottom(IMario mario, IEnemy item, Rectangle collisionRectangle)
 {
     Mario.LocationY += collisionRectangle.Height + 1;
     if (item.CanAttack && !Mario.StarStatus && !Mario.InvulnStatus)
     {
         if (mario.StateMachine.MarioMode == (int)MarioStateMachine.MarioModes.Fire)
         {
             mario.MarioBigState();
             Mario.Invulnerability();
             Game1Utility.PowerDownSoundEffect.Play();
         }
         else if (mario.StateMachine.MarioMode == (int)MarioStateMachine.MarioModes.Big)
         {
             mario.MarioSmallState();
             Mario.Invulnerability();
             Game1Utility.PowerDownSoundEffect.Play();
         }
         else
         {
             mario.Dead();
         }
     }
     else if (item.CanAttack && !(item is Missle) && !(item is Octopus) && !(item is Nami))
     {
         if (Mario.StarStatus)
         {
             item.GetKilled(false);
             item.CanAttack = false;
         }
     }
 }
示例#2
0
 private static void CollideTop(IMario mario, IEnemy item)
 {
     Mario.ResetVelocity();
     Mario.JumpStatus     = false;
     Mario.GroundedStatus = false;
     if ((item is Missle) || (item is Octopus) || (item is Nami))
     {
         if (item.CanAttack && !Mario.StarStatus && !Mario.InvulnStatus)
         {
             if (mario.StateMachine.MarioMode == (int)MarioStateMachine.MarioModes.Fire)
             {
                 mario.MarioBigState();
                 Mario.Invulnerability();
             }
             else if (mario.StateMachine.MarioMode == (int)MarioStateMachine.MarioModes.Big)
             {
                 mario.MarioSmallState();
                 Mario.Invulnerability();
             }
             else
             {
                 mario.Dead();
             }
         }
     }
     else
     {
         item.GetKilled(true);
         item.CanAttack = false;
     }
     Mario.LocationY = (Mario.LocationY - 125);
 }
示例#3
0
 private static void CollideLeft(IMario mario, IEnemy item, Rectangle collisionRectangle)
 {
     item.MovingLeft  = false;
     Mario.LocationX -= collisionRectangle.Width + 1;
     if (item.CanAttack && !Mario.StarStatus && !Mario.InvulnStatus)
     {
         if (mario.StateMachine.MarioMode == (int)MarioStateMachine.MarioModes.Fire)
         {
             mario.MarioBigState();
             Mario.Invulnerability();
         }
         else if (mario.StateMachine.MarioMode == (int)MarioStateMachine.MarioModes.Big)
         {
             mario.MarioSmallState();
             Mario.Invulnerability();
         }
         else
         {
             mario.Dead();
         }
     }
     else if (item.CanAttack && !(item is Missle) && !(item is Octopus) && !(item is Nami))
     {
         if (Mario.StarStatus)
         {
             item.GetKilled(false);
             item.CanAttack = false;
         }
     }
 }