MarisaMagicalStudy/Assets/Scripts/LevelSwitcher.cs

50 lines
1.2 KiB
C#

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<MarisaAbilityHandler>();
AbilitySceneTransfer.instance.LoadAbilities();
}
}