Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
 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);
 }
Beispiel #3
0
 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;
             }
         }
     }
 }
Beispiel #4
0
        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;
            }
        }