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; } } }
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); }
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; } } }