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
34 lines
956 B
C#
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();
|
|
}
|
|
} |