y order and level execution from menu
This commit is contained in:
parent
84396d8393
commit
1631bd87ce
5 changed files with 32 additions and 20 deletions
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue