mirror of
https://gitlab.com/MaddoScientisto/cirnogodot.git
synced 2026-06-11 13:15:54 +00:00
Death and Rebirth
This commit is contained in:
parent
ba21b30a4d
commit
be52d0e081
11 changed files with 309 additions and 83 deletions
|
|
@ -28,6 +28,8 @@ public partial class Hud : CanvasLayer
|
|||
[Export] private Container _itemsContainer;
|
||||
|
||||
[Export] private LabelSettings _labelSettings;
|
||||
|
||||
[Export] private Container _gameOverPanel;
|
||||
|
||||
[ExportGroup("Pause Menu")] [Export]
|
||||
public Control PauseMenuContainer;
|
||||
|
|
@ -45,11 +47,14 @@ public partial class Hud : CanvasLayer
|
|||
private Dictionary<string, HudItem> _items = new();
|
||||
|
||||
private PauseMenu _pauseMenu;
|
||||
|
||||
private bool _playerDead = false;
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
// Assuming the HUD has a Label node named "HealthLabel"
|
||||
//_healthLabel = GetNode<Label>("HealthLabel");
|
||||
_gameOverPanel.Hide();
|
||||
}
|
||||
|
||||
public void ShowMessage(string text)
|
||||
|
|
@ -61,23 +66,33 @@ public partial class Hud : CanvasLayer
|
|||
GetNode<Timer>("MessageTimer").Start();
|
||||
}
|
||||
|
||||
async public void ShowGameOver()
|
||||
public void ShowGameOver()
|
||||
{
|
||||
ShowMessage("Game Over");
|
||||
|
||||
var messageTimer = GetNode<Timer>("MessageTimer");
|
||||
await ToSignal(messageTimer, Timer.SignalName.Timeout);
|
||||
|
||||
var message = GetNode<Label>("Message");
|
||||
message.Text = "Dodge the Creeps!";
|
||||
message.Show();
|
||||
|
||||
await ToSignal(GetTree().CreateTimer(1.0), SceneTreeTimer.SignalName.Timeout);
|
||||
GetNode<Button>("StartButton").Show();
|
||||
_gameOverPanel.Show();
|
||||
_playerDead = true;
|
||||
|
||||
// ShowMessage("Game Over");
|
||||
//
|
||||
// var messageTimer = GetNode<Timer>("MessageTimer");
|
||||
// await ToSignal(messageTimer, Timer.SignalName.Timeout);
|
||||
//
|
||||
// var message = GetNode<Label>("Message");
|
||||
// message.Text = "Dodge the Creeps!";
|
||||
// message.Show();
|
||||
//
|
||||
// await ToSignal(GetTree().CreateTimer(1.0), SceneTreeTimer.SignalName.Timeout);
|
||||
// GetNode<Button>("StartButton").Show();
|
||||
}
|
||||
|
||||
public void UpdateHealth(float newHealth, float maxHealth)
|
||||
{
|
||||
// Hide game over if player is no longer dead
|
||||
if (_playerDead && newHealth > 0)
|
||||
{
|
||||
_playerDead = false;
|
||||
_gameOverPanel.Hide();
|
||||
}
|
||||
|
||||
_healthLabel.Text = $"{newHealth}/{maxHealth}";
|
||||
if (_healthBar != null)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue