diff --git a/Assets/_Scripts/Utility/SceneLoader.cs b/Assets/_Scripts/Utility/SceneLoader.cs index 2307440..13fdfee 100644 --- a/Assets/_Scripts/Utility/SceneLoader.cs +++ b/Assets/_Scripts/Utility/SceneLoader.cs @@ -1,3 +1,4 @@ +using Cysharp.Threading.Tasks; using System.Collections; using System.Collections.Generic; using UnityEngine; @@ -45,4 +46,26 @@ public class SceneLoader : MonoBehaviour { SceneManager.LoadScene("CurrentResults", LoadSceneMode.Additive); } + + public void NewRoom() + { + LoadNewRoom(); + } + + private async UniTaskVoid LoadNewRoom() + { + int sceneCount = SceneManager.sceneCount; + + for (int i = 0; i < sceneCount; i++) + { + Scene myScene = SceneManager.GetSceneAt(i); + if (myScene.isLoaded && myScene != SceneManager.GetSceneByBuildIndex(baseSceneIndex)) + { + currentScene = myScene.buildIndex; + await SceneManager.UnloadSceneAsync(myScene); + } + } + await SceneManager.LoadSceneAsync(currentScene + 1, LoadSceneMode.Additive); + Debug.Log("Loaded Room " + currentScene + 1); + } }