using Godot; using System; using System.Collections.Generic; using System.Linq; using Cirno.Scripts; using Cirno.Scripts.Resources; using Cirno.Scripts.UI; public partial class Hud : CanvasLayer { public static Hud Instance { get; private set; } [Signal] public delegate void StartGameEventHandler(); //private Label _healthLabel; [Export] public PackedScene SelectorScene { get; set; } [Export] public PackedScene WeaponContainerTemplate { get; private set; } [Export] public PackedScene ItemNotificationTemplate { get; private set; } [Export] public float ItemsNotificationTimeout { get; private set; } = 3f; [Export] private Node2D _selector; [Export] private Label _healthLabel; [Export] private ProgressBar _healthBar; [Export] private Label _shieldLabel; [Export] private ProgressBar _shieldBar; [Export] private Label _motivationLabel; [Export] private Container _itemsContainer; [Export] private LabelSettings _labelSettings; [Export] private Container _gameOverPanel; [Export] private Container _fairyTerminatedPanel; [Export] private Container _hudInfoPanel; [ExportGroup("Pause Menu")] [Export] public Control PauseMenuContainer; [ExportGroup("Pause Menu")] [Export] public PackedScene PauseMenuScene; [ExportGroup("Debug Menu")] [Export] public PackedScene DebugMenuTemplate { get; set; } [ExportGroup("Debug Menu")] [Export] public Control DebugMenuHolder { get; set; } private Dictionary _items = new(); private PauseMenu _pauseMenu; private bool _playerDead = false; // useless public override void _Ready() { Instance = this; // Assuming the HUD has a Label node named "HealthLabel" //_healthLabel = GetNode