protected override void Initialize() { keyboard = new KeyboardController(); gamepad = new GamepadController(this); camera = new Camera(UtilityClass.cameraHeight, UtilityClass.cameraWidth, new Vector2(UtilityClass.zero, UtilityClass.zero)); pipeTransition = new PipeTransition(); skytransition = new SkyWorldTransition(); gameover = new GameOver(this); loader = new LevelLoader(UtilityClass.levelFile, camera); levelStore = new LevelStorage(camera); keyNotPressed = new KeyNotPressed(this); fireBallCount = UtilityClass.fireballLimit; iceBallCount = UtilityClass.iceballLimit; pause = false; canPause = true; marioPause = false; stateTransistionPauseTimer = UtilityClass.stateTransistionTimer; time = new TimeStat(UtilityClass.LevelStartTime); gui = new GUI(); StatePuaseAlterationCall.setGame(this); AchievementPause.setGame(this); achievementManager = new AchievementManager(); AchievementEventTracker.setManager(achievementManager); base.Initialize(); tester = new TestingClass(this, levelStore); tester.runTests(); AchievementEventTracker.endRunningTesting(); pole = new Pole(); flag = new Flag(); hitFlagpole = false; levelWon = false; vine_box_hit = false; VineClimbBeginLocation = new Vector2(30, 0); }
public static void handleProjectileCollision(IProjectile projectile, LevelStorage storage) { CollisionDetector collisionDetector = new CollisionDetector(); ICollision side; Rectangle floorCheck; floorCheck = projectile.returnCollisionRectangle(); floorCheck.Y++; projectile.RigidBody().Floored = false; foreach (IBlock block in storage.blocksList) { if (block.checkForCollisionTestFlag()) { side = collisionDetector.getCollision(projectile.returnCollisionRectangle(), block.returnCollisionRectangle()); ProjectileBlockCollisionHandler.handleCollision(projectile, block, side); } if (collisionDetector.getCollision(floorCheck, block.returnCollisionRectangle()).returnCollisionSide().Equals(CollisionSide.Top)) { projectile.RigidBody().Floored = true; } } foreach (IEnviromental enviromental in storage.enviromentalObjectsList) { side = collisionDetector.getCollision(projectile.returnCollisionRectangle(), enviromental.returnCollisionRectangle()); ProjectileEnviromentalCollisionHandler.handleCollision(projectile, enviromental, side); if (collisionDetector.getCollision(floorCheck, enviromental.returnCollisionRectangle()).returnCollisionSide().Equals(CollisionSide.Top)) { projectile.RigidBody().Floored = true; } } }
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 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; } } }
public static void handleEnemyCollision(IEnemyObject enemy, LevelStorage storage) { CollisionDetector collisionDetector = new CollisionDetector(); ICollision side; Rectangle floorCheck; floorCheck = enemy.returnCollisionRectangle(); floorCheck.Y++; enemy.GetRigidBody().Floored = false; foreach (IBlock block in storage.blocksList) { if (block.checkForCollisionTestFlag()) { side = collisionDetector.getCollision(enemy.returnCollisionRectangle(), block.returnCollisionRectangle()); EnemyBlockCollisionHandler.handleCollision(enemy, block, side); } if (collisionDetector.getCollision(floorCheck, block.returnCollisionRectangle()).returnCollisionSide().Equals(CollisionSide.Top)) { enemy.GetRigidBody().Floored = true; } } foreach (IEnviromental enviromental in storage.enviromentalObjectsList) { side = collisionDetector.getCollision(enemy.returnCollisionRectangle(), enviromental.returnCollisionRectangle()); EnemyEnviromentalCollisionHandler.handleCollision(enemy, enviromental, side); } foreach (IEnemyObject secondEnemy in storage.enemiesList) { if (!enemy.Equals(secondEnemy)) { side = collisionDetector.getCollision(enemy.returnCollisionRectangle(), secondEnemy.returnCollisionRectangle()); EnemyEnemyCollisionHandler.handleCollision(enemy, secondEnemy, side); } } foreach (IProjectile projectile in storage.projectileList) { if (projectile.Active()) { side = collisionDetector.getCollision(enemy.returnCollisionRectangle(), projectile.returnCollisionRectangle()); EnemyProjectileCollisionHandler.handleCollision(enemy, projectile, side); } } }
public LevelStorage LoadLevel() { LevelStorage storage = new LevelStorage(camera); using (var levelfile = TitleContainer.OpenStream(@"Content\" + LevelName)) { using (var sr = new StreamReader(levelfile)) { var ObjectType = sr.ReadLine(); ObjectType.Trim(); while (ObjectType != "<!-- END -->") { if (ObjectType == "<BrickBlock>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IBlock GameObject; GameObject = new BrickBlock(XVal, YVal, BlockType.Brick); storage.blocksList.Add(GameObject); BreakableBlockStats.TotalAvailable++; ObjectType = sr.ReadLine(); ObjectType.Trim(); } else if (ObjectType == "<BoxCoin>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IItemObjects GameObject; GameObject = new BoxCoin(XVal, YVal); storage.itemList.Add(GameObject); CoinStats.TotalAvailable++; ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<FireFlower>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IItemObjects GameObject; GameObject = new FireFlower(XVal, YVal); storage.itemList.Add(GameObject); FireFlowerStats.TotalAvailable++; ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<IceFlower>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IItemObjects GameObject; GameObject = new IceFlower(XVal, YVal); storage.itemList.Add(GameObject); //FireFlowerStats.TotalAvailable++; ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<Goomba>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IEnemyObject GameObject; GameObject = new Goomba(XVal, YVal); storage.enemiesList.Add(GameObject); GoombaStats.TotalAvailable++; ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<GroundBlock>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IBlock GameObject; GameObject = new Blocks(XVal, YVal, BlockType.Ground); storage.blocksList.Add(GameObject); ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<HiddenBlock>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IBlock GameObject; GameObject = new HiddenBlock(XVal, YVal, BlockType.Hidden); storage.blocksList.Add(GameObject); ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<CoinDispenserBlock>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IBlock GameObject; GameObject = new BrickBlockCoinDispenser(XVal, YVal, BlockType.BrickCoin); storage.blocksList.Add(GameObject); ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<Koopa>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IEnemyObject GameObject; GameObject = new Koopa(XVal, YVal); storage.enemiesList.Add(GameObject); KoopaStats.TotalAvailable++; ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<OneUpMushroom>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IItemObjects GameObject; GameObject = new OneUpMushroom(XVal, YVal); storage.itemList.Add(GameObject); ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<Pipe>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IEnviromental GameObject; GameObject = new Pipe(XVal, YVal); storage.enviromentalObjectsList.Add(GameObject); ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<PlatformingBlock>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IBlock GameObject; GameObject = new Blocks(XVal, YVal, BlockType.Platforming); storage.blocksList.Add(GameObject); ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<QuestionStarBlock>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IBlock GameObject; GameObject = new QuestionStarBlock(XVal, YVal, BlockType.QuestionStar); storage.blocksList.Add(GameObject); SuperStarStats.TotalAvailable++; ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<QuestionCoinBlock>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IBlock GameObject; GameObject = new QuestionCoinBlock(XVal, YVal, BlockType.QuestionCoin); storage.blocksList.Add(GameObject); CoinStats.TotalAvailable++; ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<QuestionSuperMushroomFireFlowerBlock>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IBlock GameObject; GameObject = new QuestionSuperMushroomFireFlower(XVal, YVal, BlockType.QuestionSuperMushroomFireFlower); storage.blocksList.Add(GameObject); FireFlowerStats.TotalAvailable++; ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<QuestionIceFlowerBlock>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IBlock GameObject; GameObject = new QuestionIceFlower(XVal, YVal, BlockType.QuestionIceFlower); storage.blocksList.Add(GameObject); //FireFlowerStats.TotalAvailable++; ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<SuperMushroom>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IItemObjects GameObject; GameObject = new SuperMushroom(XVal, YVal); storage.itemList.Add(GameObject); SuperMushroomStats.TotalAvailable++; ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<SuperStar>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IItemObjects GameObject; GameObject = new SuperStar(XVal, YVal); storage.itemList.Add(GameObject); SuperStarStats.TotalAvailable++; ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<Mario>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IPlayer GameObject; GameObject = new Mario(XVal, YVal); storage.player = GameObject; ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<BlueBrickBlock>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IBlock GameObject; GameObject = new BlueBrickBlock(XVal, YVal, BlockType.BlueBrick); storage.blocksList.Add(GameObject); ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<BlueGroundBlock>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IBlock GameObject; GameObject = new BlueGroundBlock(XVal, YVal, BlockType.BlueGround); storage.blocksList.Add(GameObject); ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<UndergroundPipe>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IEnviromental GameObject = new Pipe(XVal, YVal); ((Pipe)GameObject).setUnderground(); storage.enviromentalObjectsList.Add(GameObject); ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<RightFacingPipeEdge>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IEnviromental GameObject = new RightFacingPipeEdge(XVal, YVal); storage.enviromentalObjectsList.Add(GameObject); ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<RightFacingPipe>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IEnviromental GameObject = new RightFacingPipe(XVal, YVal); storage.enviromentalObjectsList.Add(GameObject); ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<StaticCoin>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IItemObjects GameObject = new StaticCoin(XVal, YVal); storage.itemList.Add(GameObject); CoinStats.TotalAvailable++; ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<GoombaEnemySpawner>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IEnviromental GameObject = new EnemySpawner(XVal, YVal, true); storage.enviromentalObjectsList.Add(GameObject); ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<KoopaEnemySpawner>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IEnviromental GameObject = new EnemySpawner(XVal, YVal, false); storage.enviromentalObjectsList.Add(GameObject); ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<SkyBridge>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IEnviromental GameObject = new SkyWorldBridge(XVal, YVal); storage.enviromentalObjectsList.Add(GameObject); ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<IcePipe>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IEnviromental GameObject = new IcePipe(XVal, YVal); storage.enviromentalObjectsList.Add(GameObject); ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<IceCloud>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IEnviromental GameObject = new StandingCloud(XVal, YVal); storage.enviromentalObjectsList.Add(GameObject); ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<SmileyCloud>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); IEnviromental GameObject = new IceSmileyCloud(XVal, YVal); storage.enviromentalObjectsList.Add(GameObject); ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else if (ObjectType == "<VineCoinBox>") { var xstring = sr.ReadLine(); string[] xstringSeparators = new string[] { " ", "<x>", "</x>", "\n" }; string xtrimmed = xstring.Trim(); var xsplit = xtrimmed.Split(xstringSeparators, StringSplitOptions.None); int XVal = Int32.Parse(xsplit[1]); var ystring = sr.ReadLine(); string[] ystringSeparators = new string[] { " ", "<y>", "</y>", "\n" }; string ytrimmed = ystring.Trim(); var ysplit = ytrimmed.Split(ystringSeparators, StringSplitOptions.None); int YVal = Int32.Parse(ysplit[1]); QuestionCoinBlock GameObject; GameObject = new QuestionCoinBlock(XVal, YVal, BlockType.QuestionCoin); GameObject.setVineBox(true); storage.blocksList.Add(GameObject); CoinStats.TotalAvailable++; ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } else { ObjectType = sr.ReadLine(); ObjectType = ObjectType.Trim(); } } } } return(storage); }
public TestingClass(Game1 game, LevelStorage storage) { this.game = game; StatePuaseAlterationCall.setGame(game); levelStorage = storage; }
public static void handleCollision(Mario mario, IEnemyObject enemy, ICollision side, LevelStorage levelStorage) { ICommand command; if (!(side.returnCollisionSide().Equals(CollisionSide.None))) { handleMarioMovement(mario, enemy, side); } if (side.returnCollisionSide().Equals(CollisionSide.Top) && enemy.canHurtMario()) { command = new MarioHitsEnemyCollision(enemy, mario); command.Execute(); levelStorage.decreaseEnemyCount(); } else if (!(side.returnCollisionSide().Equals(CollisionSide.None)) && enemy.canHurtMario()) { command = new EnemyHitsMarioCollision(mario, enemy); command.Execute(); if (!mario.Star) { StatePuaseAlterationCall.Execute(); } } if (enemy.canHurtOtherEnemies() && !(side.returnCollisionSide().Equals(CollisionSide.None)) && !enemy.canHurtMario()) { handleMarioMovement(mario, enemy, side); handleEnemyMovement(enemy, side); } handleAchievement(enemy, side); }