using Godot; using System; // // 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 RuntimeLevelData LevelData { get; set; } public PoolContainer Pools { get; set; } public override void _EnterTree() { Instance = this; } public override void _ExitTree() { Instance = null; } 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; LevelData = null; Pools = null; _isLevelRunning = false; } }