private static void checkCodesInPlayerCenter(GameObject player) { Vector2 collisionCenter = player.GetCollisionCenter(player.PublicCollisionRectangle); foreach (string codePart in TileMap.GetCellCodes(TileMap.GetCellByPixel(collisionCenter))) { string[] codeArray = codePart.Split('_'); switch (codeArray[0]) { case "TRANSITION": if (LevelManager.CurrentMap.Properties["Mode"] == "RPG") { StateManager.GameState = GameStates.RPG; } else if (LevelManager.CurrentMap.Properties["Mode"] == "Platform") { StateManager.GameState = GameStates.Platform; } IngameManager.Activate(); LevelManager.LoadLevel(codeArray[1]); break; case "PIPE": if (InputMapper.STRICTDOWN) { StateManager.GameState = GameStates.RPG; RPGManager.Activate(); } break; case "DIALOG": if (InputMapper.STRICTACTION) { DialogManager.PlayDialog(DialogDictionaryProvider.GetDummyDialog(), "Test1"); StateManager.DialogState = DialogueStates.Active; } break; } } }
public static void Update() { switch (GameState) { case GameStates.Title: TitleScreenManager.Update(); break; case GameStates.Menu: MenuManager.Update(); break; case GameStates.Platform: case GameStates.RPG: IngameManager.Update(); break; } if (GamePaused) { MenuManager.Update(); } }