using Godot; using Newlon.Components.Level; 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 /// Execution of level public void StartLevel(PackedScene levelTileset, AdventureLevelResource levelResource) { if (_isLevelRunning) return; RuntimeLevelData.LevelResource = levelResource; GetTree().ChangeSceneToPacked(levelTileset); _isLevelRunning = true; } public void EndLevel() { if (_isLevelRunning == false) return; RuntimeLevelData.LevelResource = null; _isLevelRunning = false; } }