public void GoombaTestTop() { bool passed = true; EnemySpriteFactory.Load(game.Content); MarioSpriteFactory.Load(game.Content); IPlayer mario = new Mario(400, 400); IEnemyObject enemy = new Goomba(400, 415); CollisionDetector collisionDetector = new CollisionDetector(); ICollision side = collisionDetector.getCollision(mario.returnCollisionRectangle(), enemy.returnCollisionRectangle()); if (passed && side.returnCollisionSide().Equals(CollisionSide.Top)) { passed = true; } else { passed = false; } MarioEnemyCollisionHandler.handleCollision((Mario)mario, enemy, side, levelStorage); if (passed) { Console.WriteLine("Goomba Top Test Passed"); } else { Console.WriteLine("Goomba Top Test failed"); } }
public void KoopaTestBottom() { bool passed = true; EnemySpriteFactory.Load(game.Content); MarioSpriteFactory.Load(game.Content); IPlayer mario = new Mario(400, 400); IEnemyObject enemy = new Koopa(400, 385); CollisionDetector collisionDetector = new CollisionDetector(); ICollision side = collisionDetector.getCollision(mario.returnCollisionRectangle(), enemy.returnCollisionRectangle()); if (passed && side.returnCollisionSide().Equals(CollisionSide.Bottom)) { passed = true; } else { passed = false; } MarioEnemyCollisionHandler.handleCollision((Mario)mario, enemy, side, levelStorage); if (((Mario)mario).StateStatus().Equals(MarioState.Die) && passed) { Console.WriteLine("Koopa Bottom Test Passed"); } else { Console.WriteLine("Koopa Bottom Test failed"); } }
public static void handleMarioCollision(IPlayer mario, Game1 game, LevelStorage storage) { CollisionDetector collisionDetector = new CollisionDetector(); ICollision side; Rectangle floorCheck; floorCheck = mario.returnCollisionRectangle(); floorCheck.Y++; ((Mario)mario).rigidbody.Floored = false; foreach (IBlock block in storage.blocksList) { if (block.checkForCollisionTestFlag()) { side = collisionDetector.getCollision(mario.returnCollisionRectangle(), block.returnCollisionRectangle()); MarioBlockCollisionHandler.handleCollision((Mario)mario, block, side, game); if (collisionDetector.getCollision(floorCheck, block.returnCollisionRectangle()).returnCollisionSide().Equals(CollisionSide.Top)) { ((Mario)mario).rigidbody.Floored = true; } } } foreach (IEnemyObject enemy in storage.enemiesList) { side = collisionDetector.getCollision(mario.returnCollisionRectangle(), enemy.returnCollisionRectangle()); MarioEnemyCollisionHandler.handleCollision((Mario)mario, enemy, side, storage); } foreach (IItemObjects item in storage.itemList) { if (item.checkForCollisionTestFlag()) { side = collisionDetector.getCollision(mario.returnCollisionRectangle(), item.returnCollisionRectangle()); MarioItemCollisionHandler.handleCollision((Mario)mario, item, side); } } foreach (IEnviromental enviromental in storage.enviromentalObjectsList) { side = collisionDetector.getCollision(mario.returnCollisionRectangle(), enviromental.returnCollisionRectangle()); MarioPipeCollisionHandler.handleCollision((Mario)mario, enviromental, side); if (collisionDetector.getCollision(floorCheck, enviromental.returnCollisionRectangle()).returnCollisionSide().Equals(CollisionSide.Top)) { ((Mario)mario).rigidbody.Floored = true; } } }