Refactor GameManager and PlayerDeathComponent for improved state management and logging; update scene connections for player death handling

This commit is contained in:
2025-08-26 18:00:27 +02:00
parent ad53ef9715
commit cea3956fbb
8 changed files with 22 additions and 7 deletions

View File

@@ -9,11 +9,11 @@ namespace Mr.BrickAdventures.Autoloads;
public partial class GameManager : Node
{
[Export] public Array<PackedScene> LevelScenes { get; set; } = new();
[Export] public Array<PackedScene> LevelScenes { get; set; } = [];
public PlayerController Player { get; set; }
private List<Node> _sceneNodes = new();
private List<Node> _sceneNodes = [];
[Export]
public Dictionary PlayerState { get; set; } = new()

View File

@@ -97,6 +97,7 @@ tile_set = ExtResource("11_0vx27")
position = Vector2(215, 324)
[connection signal="Death" from="Brick Player/HealthComponent" to="UI Layer/DeathScreen" method="OnPlayerDeath"]
[connection signal="Death" from="Brick Player/HealthComponent" to="UI Layer/GameOverScreen" method="OnPlayerDeath"]
[editable path="Brick Player"]
[editable path="UI Layer"]

View File

@@ -117,6 +117,7 @@ tile_set = ExtResource("10_ei558")
tile_set = ExtResource("11_w7c5i")
[node name="Killzone" parent="." instance=ExtResource("13_tvdre")]
process_mode = 4
position = Vector2(215, 324)
[node name="Child" parent="." instance=ExtResource("15_vqevu")]
@@ -137,5 +138,8 @@ Text = "LEVEL_1_TOOLTIP_2"
position = Vector2(-59, -247)
Text = "LEVEL_1_TOOLTIP_3"
[connection signal="Death" from="Brick Player/HealthComponent" to="UI Layer/DeathScreen" method="OnPlayerDeath"]
[connection signal="Death" from="Brick Player/HealthComponent" to="UI Layer/GameOverScreen" method="OnPlayerDeath"]
[editable path="Brick Player"]
[editable path="UI Layer"]

View File

@@ -0,0 +1 @@
uid://c2h0pqhxiqswe

View File

@@ -22,6 +22,13 @@ public partial class AudioSettings : Control
MasterVolumeSlider.ValueChanged += OnMasterVolumeChanged;
MusicVolumeSlider.ValueChanged += OnMusicVolumeChanged;
SfxVolumeSlider.ValueChanged += OnSfxVolumeChanged;
LoadSettings();
}
public override void _ExitTree()
{
SaveSettings();
}
public override void _UnhandledInput(InputEvent @event)

View File

@@ -0,0 +1 @@
uid://csprksav8mj1h

View File

@@ -26,10 +26,10 @@ public partial class SettingsMenu : Control
DisplaySettingsButton.Pressed += OnDisplaySettingsPressed;
GameplaySettingsButton.Pressed += OnGameplaySettingsPressed;
InputSettingsControl.Hide();
AudioSettingsControl.Hide();
DisplaySettingsControl.Hide();
GameplaySettingsControl.Hide();
InputSettingsControl?.Hide();
AudioSettingsControl?.Hide();
DisplaySettingsControl?.Hide();
GameplaySettingsControl?.Hide();
}
public override void _UnhandledInput(InputEvent @event)

View File

@@ -31,6 +31,7 @@ public partial class PlayerDeathComponent : Node2D
}
_gameManager.RemoveLives(1);
GD.Print("Player death, lives left: " + _gameManager.GetLives());
_gameManager.ResetCurrentSessionState();
}
}