public static void handleCollision(IItemObjects item, IBlock block, ICollision side) { if (!(side.returnCollisionSide().Equals(CollisionSide.None))) { handleItemMovement(item, block, side); } }
private static void handleMarioMovement(Mario mario, IItemObjects item, ICollision side) { Rectangle itemRectangle = item.returnCollisionRectangle(); Rectangle marioRectangle = mario.returnCollisionRectangle(); Rectangle intersectionRectangle = Rectangle.Intersect(marioRectangle, itemRectangle); int locationDiffToChange = UtilityClass.zero; if (side.returnCollisionSide().Equals(CollisionSide.Left)) { locationDiffToChange = intersectionRectangle.Width; int newMarioX = (int)mario.Location.X - locationDiffToChange; mario.Location = new Vector2(newMarioX, mario.Location.Y); } else if (side.returnCollisionSide().Equals(CollisionSide.Right)) { locationDiffToChange = intersectionRectangle.Width; int newMarioX = (int)mario.Location.X + locationDiffToChange; mario.Location = new Vector2(newMarioX, mario.Location.Y); } else if (side.returnCollisionSide().Equals(CollisionSide.Top)) { locationDiffToChange = intersectionRectangle.Height; int newMarioY = (int)mario.Location.Y - locationDiffToChange; mario.Location = new Vector2(mario.Location.X, newMarioY); } else if (side.returnCollisionSide().Equals(CollisionSide.Bottom)) { locationDiffToChange = intersectionRectangle.Height; int newMarioY = (int)mario.Location.Y + locationDiffToChange; mario.Location = new Vector2(mario.Location.X, newMarioY); } }
public static void handleCollision(IItemObjects item, IEnviromental enviro, ICollision side) { if (!(side.returnCollisionSide().Equals(CollisionSide.None))) { handleItemMovement(item, enviro, side); } }
public static void handleItemCollision(IItemObjects item, LevelStorage storage) { CollisionDetector collisionDetector = new CollisionDetector(); ICollision side; Rectangle floorCheck; floorCheck = item.returnCollisionRectangle(); floorCheck.Y++; item.RigidBody().Floored = false; foreach (IBlock block in storage.blocksList) { if (block.checkForCollisionTestFlag()) { side = collisionDetector.getCollision(item.returnCollisionRectangle(), block.returnCollisionRectangle()); ItemBlockCollisionHandler.handleCollision(item, block, side); } if (collisionDetector.getCollision(floorCheck, block.returnCollisionRectangle()).returnCollisionSide().Equals(CollisionSide.Top)) { item.RigidBody().Floored = true; } } foreach (IEnviromental enviromental in storage.enviromentalObjectsList) { side = collisionDetector.getCollision(item.returnCollisionRectangle(), enviromental.returnCollisionRectangle()); ItemEnvriomentalCollisionHandler.handleCollision(item, enviromental, side); } }
public void Execute() { ((QuestionIceFlower)block).bounceBlock(); block.Update(); if (((QuestionIceFlower)block).dispenseItem()) { IItemObjects iceFlower = ((QuestionIceFlower)block).spawnIceFlower(); game.levelStore.itemList.Add(iceFlower); } }
public void Execute() { ((QuestionSuperMushroomFireFlower)block).bounceBlock(); block.Update(); if (((QuestionSuperMushroomFireFlower)block).dispenseItem()) { IItemObjects superMushroom = ((QuestionSuperMushroomFireFlower)block).spawnSuperMushroom(); game.levelStore.itemList.Add(superMushroom); } }
public void Execute() { ((QuestionStarBlock)block).bounceBlock(); block.Update(); if (((QuestionStarBlock)block).dispenseItem()) { IItemObjects superStar = ((QuestionStarBlock)block).spawnStar(); game.levelStore.itemList.Add(superStar); } }
public void Execute() { ((BrickBlockCoinDispenser)block).bounceBlock(); if (((BrickBlockCoinDispenser)block).coinCounting()) { IItemObjects coin = ((BrickBlockCoinDispenser)block).dispenseCoin(); ((Mario)mario).AddCoin(); game.levelStore.itemList.Add(coin); } }
public void Execute() { ((HiddenBlock)block).useHiddenBlock(); ((HiddenBlock)block).unSpeaclize(); if (((HiddenBlock)block).dispenseItem()) { IItemObjects oneUp = ((HiddenBlock)block).spawnOneUp(); game.levelStore.itemList.Add(oneUp); } }
public void Execute() { ((QuestionCoinBlock)block).bounceBlock(); block.Update(); if (((QuestionCoinBlock)block).dispenseItem()) { IItemObjects coin = ((QuestionCoinBlock)block).spawnCoin(); game.levelStore.itemList.Add(coin); ((Mario)game.mario).AddCoin(); } }
public static void handleCollision(Mario mario, IItemObjects item, ICollision side) { ICommand command; if (!(side.returnCollisionSide().Equals(CollisionSide.None))) { handleMarioMovement(mario, item, side); command = chooseCorrectCommand(item, mario); command.Execute(); mario.ScoreEvent(item.ScoreData()); handleAchievements(item); } }
private static void handleAchievements(IItemObjects item) { if (item.returnItemType().Equals(ItemType.FireFlower)) { AchievementEventTracker.fireFlowerAcievement(); } else if (item.returnItemType().Equals(ItemType.OneUpMushroom)) { AchievementEventTracker.oneUpAcievement(); } else if (item.returnItemType().Equals(ItemType.Star)) { AchievementEventTracker.starAcievement(); } else if (item.returnItemType().Equals(ItemType.SuperMushroom)) { AchievementEventTracker.superMushAcievement(); } }
private static ICommand chooseCorrectCommand(IItemObjects item, IPlayer mario) { ICommand command; if (item.returnItemType().Equals(ItemType.Coin)) { command = new MarioCoinCollisionCommand(mario, item); } else if (item.returnItemType().Equals(ItemType.FireFlower)) { command = new MarioFireFlowerCollisionCommand(mario, item); if (!((Mario)mario).Fire) { StatePuaseAlterationCall.Execute(); } } else if (item.returnItemType().Equals(ItemType.IceFlower)) { command = new MarioIceFlowerCollisionCommand(mario, item); } else if (item.returnItemType().Equals(ItemType.OneUpMushroom)) { command = new MarioOneUpMushroomCollisionCommand(mario, item); } else if (item.returnItemType().Equals(ItemType.Star)) { command = new MarioStarCollisionCommand(mario, item); } else { command = new MarioSuperMushroomCollisionCommand(mario, item); if (((Mario)mario).Small) { StatePuaseAlterationCall.Execute(); } } return(command); }
private static void handleItemMovement(IItemObjects item, IBlock block, ICollision side) { Rectangle blockRectangle = block.returnCollisionRectangle(); Rectangle itemRectangle = item.returnCollisionRectangle(); Rectangle intersectionRectangle = Rectangle.Intersect(itemRectangle, blockRectangle); Vector2 itemLocation = item.returnLocation(); int locationDiffToChange = UtilityClass.zero; if (side.returnCollisionSide().Equals(CollisionSide.Left)) { locationDiffToChange = intersectionRectangle.Width; int newItemX = (int)itemLocation.X - locationDiffToChange; item.updateLocation(new Vector2((newItemX), itemLocation.Y)); item.RigidBody().RightCollision(); } else if (side.returnCollisionSide().Equals(CollisionSide.Right)) { locationDiffToChange = intersectionRectangle.Width; int newItemX = (int)itemLocation.X + locationDiffToChange; item.updateLocation(new Vector2((newItemX), itemLocation.Y)); item.RigidBody().LeftCollision(); } else if (side.returnCollisionSide().Equals(CollisionSide.Top)) { locationDiffToChange = intersectionRectangle.Height; int newItemY = (int)itemLocation.Y - locationDiffToChange; item.updateLocation(new Vector2(itemLocation.X, newItemY)); item.RigidBody().BottomCollision(); } else if (side.returnCollisionSide().Equals(CollisionSide.Bottom)) { locationDiffToChange = intersectionRectangle.Height; int newItemY = (int)itemLocation.Y + locationDiffToChange; item.updateLocation(new Vector2(itemLocation.X, newItemY)); item.RigidBody().TopCollision(); } }
public MarioCoinCollisionCommand(IPlayer mario, IItemObjects coin) { this.coin = coin; player = mario; }
public MarioStarCollisionCommand(IPlayer mario, IItemObjects star) { this.mario = mario; this.star = star; }
public MarioIceFlowerCollisionCommand(IPlayer mario, IItemObjects iceFlower) { this.mario = mario; this.iceFlower = iceFlower; }
private void handleItemCollision(IItemObjects item) { LevelCollisionHandlerHelper.handleItemCollision(item, this); }
public MarioFireFlowerCollisionCommand(IPlayer mario, IItemObjects fireFlower) { this.mario = mario; this.fireFlower = fireFlower; }
public MarioOneUpMushroomCollisionCommand(IPlayer mario, IItemObjects oneUpMushroom) { SoundEffectFactory.OneUp(); player = mario; this.oneUpMushroom = oneUpMushroom; }
public MarioSuperMushroomCollisionCommand(IPlayer mario, IItemObjects superMushroom) { this.mario = mario; this.superMushroom = superMushroom; }