Add next level command and refactor player retrieval in GameManager; update scene files for consistency

This commit is contained in:
2025-08-26 23:23:02 +02:00
parent 6c733d3159
commit afca70e6c6
5 changed files with 43 additions and 14 deletions

View File

@@ -11,9 +11,13 @@ public partial class GameManager : Node
{
[Export] public Array<PackedScene> LevelScenes { get; set; } = [];
public PlayerController Player { get; set; }
public PlayerController Player {
get => GetPlayer();
private set => _player = value;
}
private List<Node> _sceneNodes = [];
private PlayerController _player;
[Export]
public Dictionary PlayerState { get; set; } = new()
@@ -227,14 +231,14 @@ public partial class GameManager : Node
public PlayerController GetPlayer()
{
if (Player != null) return Player;
if (_player != null) return _player;
foreach (var node in _sceneNodes)
{
if (node is not PlayerController player) continue;
Player = player;
return Player;
_player = player;
return _player;
}
GD.PrintErr("PlayerController not found in the scene tree.");