y order and level execution from menu

This commit is contained in:
Rendo 2025-07-17 04:23:37 +05:00
commit 1631bd87ce
5 changed files with 32 additions and 20 deletions

View file

@ -1,4 +1,5 @@
using Godot;
using Newlon.Components.Level;
namespace Newlon;
@ -21,21 +22,24 @@ public partial class LevelController : Node
{
Instance = null;
}
/// <summary>
///
/// </summary>
/// <param name="levelTileset">Scene that will be loaded</param>
/// <param name="levelScript">Optional script that will be attached to loaded scene</param>
public void StartLevel(PackedScene levelTileset, Script levelScript = null)
/// <param name="levelResource">Execution of level</param>
public void StartLevel(PackedScene levelTileset, AdventureLevelResource levelResource)
{
if (_isLevelRunning)
return;
GetTree().ChangeSceneToPacked(levelTileset);
GetTree().CreateTimer(0.001).Timeout += ()=>
{
RuntimeLevelData.Instance.levelResource = levelResource;
RuntimeLevelData.Instance.StartLevel();
};
if (levelScript != null)
GetTree().CurrentScene.SetScript(levelScript);
GetTree().ChangeSceneToPacked(levelTileset);
_isLevelRunning = true;
}