using UnityEngine; using UnityEngine.SceneManagement; public class LevelSwitcher : MonoBehaviour { #region Statication public static LevelSwitcher instance; private void Awake() { if (instance != null && instance != this) { Destroy(gameObject); return; } instance = this; DontDestroyOnLoad(this); } #endregion public int[] stages; //uhh.... public int currentStage; [SerializeField] private int uiStage; [SerializeField] private int shopStage; [ContextMenu("Load Shop")] public void LoadShop() { AbilitySceneTransfer.instance.SaveAllAbilities(); SceneManager.LoadScene(shopStage); SceneManager.LoadScene(uiStage, LoadSceneMode.Additive); SetupScene(); } public void ChangeLevel() { currentStage++; AbilitySceneTransfer.instance.SaveAllAbilities(); SceneManager.LoadScene(stages[currentStage]); SceneManager.LoadScene(uiStage, LoadSceneMode.Additive); SetupScene(); } public void SetupScene() { AbilitySceneTransfer.instance.abilityHandler = FindFirstObjectByType(); AbilitySceneTransfer.instance.LoadAbilities(); } }