public void ButtonSelected(NumberedLevelSelectButton button) { MMVibrationManager.Haptic(HapticTypes.Selection); if (LevelSelectOpen) { int buildIndex = SceneHelpers.GetBuildIndexFromLevel(WorldSelected, button.TempNumber.HasValue ? button.TempNumber.Value : button.Number); MusicManager.Instance.SlideVolume(0.4f, 1f); GameManager.Instance.LoadScene(buildIndex, null); } else { if (button.Paywalled) { Debug.Log($"TAKE ME TO THE STORE TO BUY WORLD {button.Number}!"); } else { levelData = GameManager.Instance.SaveData.LevelData; CopyManager.OnLevelChange(button.Number); (this.MirroredComponent as LevelSelect).OnLevelSelectNoAction(button.MirroredComponent as NumberedLevelSelectButton); OnLevelSelectNoAction(button); // tell camera to wipe // world one and no world share the same style if (WorldSelected > 1) { StartCoroutine(CameraWipe(0)); } } } }
public void Continue() { MMVibrationManager.Haptic(HapticTypes.Selection); int nextWorld = World + 1; if (nextWorld <= GameManager.AvailableWorlds) { GameManager.Instance.SaveData.LastPlayedWorld = nextWorld; MusicManager.Instance.LoadMusicForWorldAndChangeTrack(nextWorld); GameManager.Instance.LoadScene(SceneHelpers.GetBuildIndexFromLevel(nextWorld, 1)); } else { GameManager.Instance.LoadScene(SceneHelpers.SceneCount - 1); } }
public void GoToMenu() { MMVibrationManager.Haptic(HapticTypes.Selection); int nextWorld = World + 1; var nextLevel = SceneHelpers.GetBuildIndexFromLevel(nextWorld, 1); if (ContinueButton.activeInHierarchy && // only active when we've reached here from a level nextWorld <= GameManager.AvailableWorlds && nextLevel >= GameManager.Instance.HighestUnlockedLevel) { GameManager.Instance.SaveData.LastPlayedWorld = nextWorld; } GameManager.Instance.LoadScene( SceneHelpers.MenuBuildIndex, null, () => GameManager.Instance.MenuManager.OpenLevelSelect(true) ); }