50 lines
1.2 KiB
C#
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();
|
|
}
|
|
}
|