Felix Boucher 27d72368aa finish integrating level selector
Level selector was already working after work by William but some small bugs remained to be fixed + it wasn't possible to return to level selector once we were in the level.

- it's now possible to go back to level selector from Level
- LevelManagerScript is no longer a singleton (this way, it resets with the Game scene unloading)
- Added a property drawer for using scene files in inspectors
2023-07-23 20:16:44 -04:00

34 lines
956 B
C#

using UnityEngine;
using UnityEngine.SceneManagement;
using Level = GatherAndDefend.LevelEditor.Level;
public class LevelManagerScript : MonoBehaviour
{
[Scene][SerializeField]
private string _gameScene;
[SerializeField]
private Level _firstLevel;
private void Start()
{
LevelManager.Instance.LevelTransform = transform;
int levelToLoadFromWorldMap = PlayerPrefs.GetInt("LevelToLoad", -1);
if (levelToLoadFromWorldMap != -1)
{
string lvlName = $"Level{levelToLoadFromWorldMap}";
LevelManager.Instance.LoadLevel(lvlName, true);
return;
}
else if (_firstLevel)
{
LevelManager.Instance.LoadLevel(_firstLevel, true);
}
else
{
Debug.LogWarning("there is no first level set in the level manager script");
}
}
void Update()
{
LevelManager.Instance.UpdateLevel();
}
}