using Godot;
namespace Newlon;
//
// Class that gives access to level data, pools and etc.
//
public partial class LevelController : Node
{
public static LevelController Instance { get; private set; }
private bool _isLevelRunning = false;
public override void _EnterTree()
{
Instance = this;
}
public override void _ExitTree()
{
Instance = null;
}
///
///
///
/// Scene that will be loaded
/// Optional script that will be attached to loaded scene
public void StartLevel(PackedScene levelTileset, Script levelScript = null)
{
if (_isLevelRunning)
return;
GetTree().ChangeSceneToPacked(levelTileset);
if (levelScript != null)
GetTree().CurrentScene.SetScript(levelScript);
_isLevelRunning = true;
}
public void EndLevel()
{
if (_isLevelRunning == false)
return;
_isLevelRunning = false;
}
}