Inheritance: MonoBehaviour
Example #1
0
    private IEnumerator LoadNewAdditiveLevel(int sceneIndex, HubDoor _hubDoor = null, Image loadingBarFillImage = null)
    {
        AsyncOperation asyncLoad = SceneManager.LoadSceneAsync(sceneIndex, LoadSceneMode.Additive);

        while (!asyncLoad.isDone)
        {
            if (loadingBarFillImage != null)
            {
                loadingBarFillImage.fillAmount = asyncLoad.progress;
            }
            yield return(null);
        }

        if (loadingBarFillImage != null)
        {
            loadingBarFillImage.fillAmount = 1;
        }

        LevelManager levelManager = FindObjectOfType <LevelManager> ();

        nextLevelSpawnPosition = levelManager.InitializeLevel(nextLevelSpawnPosition);
        Destroy(levelManager);

        if (_hubDoor == null)
        {
            hubDoor.SceneHasLoaded();
        }
        else
        {
            _hubDoor.SceneHasLoaded();
        }
    }
Example #2
0
 public void LoadNextLevel(HubDoor hubDoor)
 {
     if (activeSceneIndex + 1 < SceneManager.sceneCountInBuildSettings)
     {
         activeSceneIndex++;
         loadedSceneIndecies.Add(activeSceneIndex);
         StartCoroutine(LoadNewAdditiveLevel(activeSceneIndex, hubDoor));
         if (activeSceneIndex > loadedData.numberOfLevelsUnlocked)
         {
             loadedData.numberOfLevelsUnlocked++;
             FindObjectOfType <MonitorUIManager> ().UnlockLevel();
             SaveCurrentData();
         }
     }
 }
Example #3
0
    //bool hasTouched = false;

    void Start()
    {
        //audioScript = audioHandler.GetComponent<CrossFadeControl>();
        doorScript = hubDoor.GetComponent<HubDoor>();
    }