public void Update(ref GameScene.GameState pGameState) { if (InputHelper.ButtonJustPressed2Player(Buttons.Start)) { mIsActive = !mIsActive; mSelectedIndex = 0; } if (mIsActive) { HandleInput(); pGameState = GameScene.GameState.Paused; return; } if (pGameState == GameScene.GameState.Paused) { pGameState = GameScene.GameState.Running; } }
public void Update(SceneData pScene, Hansel pHansel, Gretel pGretel, Savegame pSavegame, ref GameScene.GameState pGameState) { UpdateLantern(pHansel, pGretel); UpdateVisibility(pScene, pHansel, pGretel); CollectCollectables(pSavegame, pScene, pHansel, pGretel, ref pGameState); }
protected void CollectCollectables(Savegame pSavegame, SceneData pScene, Hansel pHansel, Gretel pGretel, ref GameScene.GameState pGameState) { foreach (Collectable col in pScene.Collectables) { if (col.IsVisible) { if (col.CollisionBox.Intersects(pHansel.CollisionBox)) { pSavegame.Collectables.Add(col); pScene.Collectables.Remove(col); //Laterne einsammeln if (col.GetType() == typeof(Lantern)) { pHansel.Lantern = true; } pGameState = GameScene.GameState.CollectableInfo; FmodMediaPlayer.Instance.AddSong("Collectable0" + col.CollectableId, 0.8f); return; } else if (col.CollisionBox.Intersects(pGretel.CollisionBox) || ( //Collectable bei LegUpGrab einsammeln pGretel.mCurrentActivity != null && pGretel.mCurrentActivity.GetType() == typeof(LegUp) && pGretel.mCurrentActivity.m2ndState && pGretel.mCurrentState == 4 && col.CollisionBox.Intersects(new Rectangle((int)(pGretel.SkeletonPosition.X + Hardcoded.LegUp_OffsetGretel[pSavegame.SceneId].X - 10), (int)(pGretel.SkeletonPosition.Y + Hardcoded.LegUp_OffsetGretel[pSavegame.SceneId].Y - 10), 20, 20)) ) ) { pSavegame.Collectables.Add(col); pScene.Collectables.Remove(col); //Laterne einsammeln if (col.GetType() == typeof(Lantern)) { pGretel.Lantern = true; } pGameState = GameScene.GameState.CollectableInfo; FmodMediaPlayer.Instance.AddSong("Collectable0" + col.CollectableId, 0.8f); return; } } } }
public void Update(Savegame pSavegame, ref SceneData pScene, Hansel pHansel, Gretel pGretel, Camera pCamera, TwoDRenderer pRenderer, ref GameScene.GameState pGameState) { //Update Logic Parts SceneSwitchHandler.Update(pSavegame, ref pScene, pHansel, pGretel, pCamera, pRenderer); ActivityHandler.Update(pScene, pHansel, pGretel, pSavegame); ItemHandler.Update(pScene, pHansel, pGretel, pSavegame, ref pGameState); EventHandler.Update(pScene, pHansel, pGretel); TemperatureHandler.Update(pHansel, pGretel); AIManager.Instance.Update(); EnemyHandler.Update(); SoundHandler.Instance.Update(); //Check whether Player may move HanselMayMove = true; GretelMayMove = true; if (SceneSwitchHandler.CurrentState != SceneSwitchHandler.State.Idle) { HanselMayMove = false; GretelMayMove = false; } }