filesystem rework
This commit is contained in:
parent
64323290cc
commit
2905db3dce
174 changed files with 93 additions and 353 deletions
58
scripts/level/LevelController.cs
Normal file
58
scripts/level/LevelController.cs
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
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;
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="levelTileset">Scene that will be loaded</param>
|
||||
/// <param name="levelResource">Execution of level</param>
|
||||
public void StartLevel(PackedScene levelTileset, AdventureLevelResource levelResource)
|
||||
{
|
||||
if (_isLevelRunning)
|
||||
return;
|
||||
|
||||
RuntimeLevelData.LevelResource = levelResource;
|
||||
|
||||
GetTree().ChangeSceneToPacked(levelTileset);
|
||||
|
||||
|
||||
_isLevelRunning = true;
|
||||
}
|
||||
public void RestartLevel()
|
||||
{
|
||||
if (_isLevelRunning == false)
|
||||
return;
|
||||
var resource = RuntimeLevelData.LevelResource;
|
||||
GetTree().ReloadCurrentScene();
|
||||
RuntimeLevelData.LevelResource = resource;
|
||||
}
|
||||
public void EndLevel()
|
||||
{
|
||||
if (_isLevelRunning == false)
|
||||
return;
|
||||
RuntimeLevelData.LevelResource = null;
|
||||
|
||||
_isLevelRunning = false;
|
||||
}
|
||||
}
|
||||
1
scripts/level/LevelController.cs.uid
Normal file
1
scripts/level/LevelController.cs.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://v8gsvdqhbtml
|
||||
19
scripts/level/LevelStateBrainDisabler.cs
Normal file
19
scripts/level/LevelStateBrainDisabler.cs
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
using Godot;
|
||||
using Newlon.Components;
|
||||
using Newlon.Components.Level;
|
||||
|
||||
[GlobalClass]
|
||||
public partial class LevelStateBrainDisabler : Node
|
||||
{
|
||||
public override void _Ready()
|
||||
{
|
||||
RuntimeLevelData.Instance.OnLevelStateChanged += OnLevelStateChanged;
|
||||
}
|
||||
public void OnLevelStateChanged(RuntimeLevelData.LevelStates state)
|
||||
{
|
||||
if (state == RuntimeLevelData.LevelStates.Game)
|
||||
{
|
||||
GetParent<Entity>().EnableBrain();
|
||||
}
|
||||
}
|
||||
}
|
||||
1
scripts/level/LevelStateBrainDisabler.cs.uid
Normal file
1
scripts/level/LevelStateBrainDisabler.cs.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://ldjyga3rbqoj
|
||||
Loading…
Add table
Add a link
Reference in a new issue