private void LoadLevel(int portalID) { if (currentLevel != null) { DestroyCurrentLevel(); } currentLevel = Instantiate(currentLevelPrefab).GetComponent <Level>(); Vector2 pos; if (portalID == -1) { pos = currentLevel.spawnPoint.position; } else { pos = currentLevel.checkPoints.First(p => p.portalId == portalID).transform.position; } player.transform.SetParent(playerParent); player.transform.position = pos; if (currentLevel.isHub) { if (!player.hubUnloked) { player.hubUnloked = true; } EssenceCollector essenceCollector = currentLevel.GetComponentInChildren <EssenceCollector>(); essenceCollector.Initialize(player.hubSaveState.essenceCollectorUpgrade); essenceCollector.UpdateEssenceCollector(); hubManager = currentLevel.GetComponent <HubManager>(); hubManager.LoadHub(player.hubSaveState); Keera keera = currentLevel.transform.Find("Keera").GetComponent <Keera>(); keera.SetState(player.hubSaveState.keeraState); } player.SetRespawnPortal(portalID); cameraController.SetBounds(currentLevel.LeftBound, currentLevel.TopBound, currentLevel.RightBound, currentLevel.BottomBound); areaNotificationText.ShowNotification(currentLevel.title); soundManager.StopPlayingBossMusic(); foreach (var h in bossHealthbars) { h.Hide(); } screenCover.UncoverScreen(.1f); if (currentLevel.backgroundMusic != null) { soundManager.PlayMusic(currentLevel.backgroundMusic); } player.AmuletFlash.SetAmuletFlash(currentLevel.DoesAmuletFlash, currentLevel.LevelEnd); SaveGame(true); }
private void AllLinesShown() { if (state == 0) { player.hubSaveState.UnlockHubPortal(0); player.hubSaveState.UnlockHubPortal(1); player.hubSaveState.SetKeeraState(1); gameManager.SaveGame(); hubManager.LoadHub(player.hubSaveState); SetState(1); } else if (state == 1) { SetState(-1); } else if (state == -1) { PlayerLevelUp(); AskToLevelUp(); } dialogBox.HideText(); }