public static void switchScreens(GameScreenType newType, string levelName) { if (manager == null) { return; } if (newType == GameScreenType.SplashScreen) { currentNode = new SplashScreenState(manager); } else if (newType == GameScreenType.Credits) { currentNode = new CreditsScreenState(manager); } else if (newType == GameScreenType.Level && levelName != null) { Game1.levelLoader.Unload(); currentNode = new LevelState(Game1.levelLoader, levelName); } else if (newType == GameScreenType.Menu) { switch (levelName) { case "TitleScreenMenu": currentNode = new TitleScreenMenuState(manager, false, true); break; case "TitleScreenMenu_fromOptions": currentNode = new TitleScreenMenuState(manager, true, false); break; case "TitleScreenMenu_fromLevelSelect": currentNode = new TitleScreenMenuState(manager, true, false); break; case "TitleScreenMenu_fromPause": currentNode = new TitleScreenMenuState(manager, false, true); ((TitleScreenMenuState)currentNode).showPressButtonDialog = false; break; case "GameOptionsMenu": currentNode = new OptionsMenuState(manager); break; case "LevelSelectMenu": currentNode = new LevelSelectMenuState(manager); break; case "BetaMenu": currentNode = new BetaMenuState(manager); break; default: break; } } else { // } }
public static void nextLevel() { if (manager == null) { return; } if (!(currentNode is LevelState)) { return; } LevelState.checkPointTouched = false; Game1.CurrentLevel = (Game1.CurrentLevel + 1) % Game1.levelNames.Length; if (Game1.CurrentLevel > Game1.MagnetBoySaveData.furthestLevelUnlocked) { Game1.MagnetBoySaveData.furthestLevelUnlocked = Game1.CurrentLevel; } if (Game1.CurrentLevel != 0) { Game1.levelLoader.Unload(); currentNode = new LevelState(Game1.levelLoader, Game1.levelFileNames[Game1.CurrentLevel]); } else { currentNode = new CreditsScreenState(manager); } }