Пример #1
0
    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);
    }
Пример #2
0
 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();
 }