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); }
private static void handleAchievement(IEnemyObject enemy, ICollision side) { if (side.returnCollisionSide().Equals(CollisionSide.Top) && enemy.canHurtMario()) { AchievementEventTracker.killingEnemyAcievement(); } }
public MarioDying(Mario mario) { AchievementEventTracker.dyingAcievement(); this.mario = mario; sprite = new AnimatedSprite(MarioSpriteFactory.CreateMarioDyingSprite(), UtilityClass.one, UtilityClass.one, mario.Location, UtilityClass.generalTotalFramesAndSpecializedRows); mario.LoseLife(); }
private void sendUnderground(IPlayer mario, float elapsedtime) { if (((Mario)mario).StateStatus().Equals(MarioState.Duck) || hasbeguntransition == true) { AchievementEventTracker.undergroundAcievement(); if (hasbeguntransition == false) { SoundEffectFactory.Pipe(); } hasbeguntransition = true; sendUndergroundAnimation(mario, elapsedtime); } }
private static void handleAchievements(IBlock block, Mario mario) { BlockType type = block.returnBlockType(); if (type.Equals(BlockType.BrickCoin)) { AchievementEventTracker.hiddenDispenserAcievement(); } else if (type.Equals(BlockType.Brick) && ((!mario.Small) || (mario.Star))) { AchievementEventTracker.brickSmashedAcievement(); } else if (type.Equals(BlockType.QuestionCoin)) { AchievementEventTracker.questionCoinAcievement(); } }
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(); } }
protected override void Update(GameTime gameTime) { if (!hitFlagpole) { keyboard.Update(); gamepad.Update(); } foreach (IBlock block in levelStore.blocksList) { if (block.returnBlockType() == BlockType.QuestionCoin) { if (((QuestionCoinBlock)block).returnVineDispense() && !vine_box_hit) { vine_box_hit = true; skytransition.seVineBoxHit(true); } } } float elapsedtime = (float)gameTime.ElapsedGameTime.TotalSeconds; levelWon = (mario.GetLocation().X >= UtilityClass.flagpoleLocation && mario.GetLocation().X < UtilityClass.aboveGroundEndLocation); if (!pause && !marioPause) { keyNotPressed.Execute(); if (!levelWon) { mario.Update(gameTime); } levelStore.Update(); levelStore.handleCollision(mario, this); cameraController.Update(); pipeTransition.Update((Mario)mario, elapsedtime, camera); skytransition.Update((Mario)mario, elapsedtime, this); gameover.Update((Mario)mario, elapsedtime, this); gui.Update(); if (time.UpdateTime(gameTime)) { resetCommand.Execute(); } base.Update(gameTime); } else if (marioPause && !pause) { if (!levelWon) { mario.Update(gameTime); } levelStore.handleCollision(mario, this); stateTransistionPauseTimer--; } if (stateTransistionPauseTimer == UtilityClass.zero) { StatePuaseAlterationCall.Execute(); } pole.Update(); flag.Update(); if (levelWon) { AchievementEventTracker.levelFinishAcievement(); if (!hitFlagpole) { endMario = new EndingSequenceMario(((Mario)mario), ((Mario)mario).Small, ((Mario)mario).Fire, ((Mario)mario).Ice, time); hitFlagpole = true; } flag.MoveDown(); endMario.FlagAtBottom = flag.FlagAtBottom(); endMario.Update(); if (endMario.EndSequenceFinished && Keyboard.GetState().GetPressedKeys().Length > 0) { resetCommand.Execute(); } } }
public void Execute() { AchievementEventTracker.writeAchievements(); game.Exit(); }