- Created UI system in level/ui/ folder - Action bar with 12 ability slots (Attack, Block, Dash, Jump + 8 expansion slots) - Unit frame showing player portrait with health bar - Character sheet/spellbook (toggle with Tab) displaying stats, weapons, and abilities - Tab hint indicator showing how to open character sheet - Custom theme with golden borders and dark backgrounds - UI Components: - HUD Manager autoload handles all UI initialization and player connections - Ability buttons with cooldown overlay and keybind display - Real-time health and cooldown tracking via signals - Scrollable character sheet with two-page layout - Player Integration: - Added UI signals: dash_cooldown_updated, attack_cooldown_updated, weapon_equipped_changed - Mouse capture system (Escape to toggle, click to recapture) - Synced attack cooldown from weapons to player for UI tracking - Updated level.gd to connect local player to HUD Manager - Updated CLAUDE.md with git commit guidelines
70 lines
1.8 KiB
Plaintext
70 lines
1.8 KiB
Plaintext
[gd_scene load_steps=3 format=3 uid="uid://bjn6yfwqgp2n7"]
|
|
|
|
[ext_resource type="Script" path="res://level/ui/scripts/resource_bars.gd" id="1_script"]
|
|
[ext_resource type="Theme" uid="uid://dvsh7tuhulnfm" path="res://level/ui/theme/wow_style.tres" id="2_theme"]
|
|
|
|
[node name="ResourceBars" type="Control"]
|
|
layout_mode = 3
|
|
anchors_preset = 7
|
|
anchor_left = 0.5
|
|
anchor_top = 1.0
|
|
anchor_right = 0.5
|
|
anchor_bottom = 1.0
|
|
offset_left = -250.0
|
|
offset_top = -140.0
|
|
offset_right = 250.0
|
|
offset_bottom = -110.0
|
|
grow_horizontal = 2
|
|
grow_vertical = 0
|
|
theme = ExtResource("2_theme")
|
|
script = ExtResource("1_script")
|
|
|
|
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
|
layout_mode = 1
|
|
anchors_preset = 15
|
|
anchor_right = 1.0
|
|
anchor_bottom = 1.0
|
|
grow_horizontal = 2
|
|
grow_vertical = 2
|
|
theme_override_constants/separation = 4
|
|
|
|
[node name="HealthBar" type="Control" parent="VBoxContainer"]
|
|
layout_mode = 2
|
|
size_flags_vertical = 3
|
|
|
|
[node name="Background" type="ColorRect" parent="VBoxContainer/HealthBar"]
|
|
layout_mode = 1
|
|
anchors_preset = 15
|
|
anchor_right = 1.0
|
|
anchor_bottom = 1.0
|
|
grow_horizontal = 2
|
|
grow_vertical = 2
|
|
color = Color(0.2, 0.2, 0.2, 0.8)
|
|
|
|
[node name="Fill" type="ColorRect" parent="VBoxContainer/HealthBar/Background"]
|
|
layout_mode = 1
|
|
anchors_preset = 15
|
|
anchor_right = 1.0
|
|
anchor_bottom = 1.0
|
|
offset_left = 2.0
|
|
offset_top = 2.0
|
|
offset_right = -2.0
|
|
offset_bottom = -2.0
|
|
grow_horizontal = 2
|
|
grow_vertical = 2
|
|
color = Color(0, 0.8, 0, 1)
|
|
|
|
[node name="HealthText" type="Label" parent="VBoxContainer/HealthBar"]
|
|
layout_mode = 1
|
|
anchors_preset = 15
|
|
anchor_right = 1.0
|
|
anchor_bottom = 1.0
|
|
grow_horizontal = 2
|
|
grow_vertical = 2
|
|
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
|
theme_override_constants/outline_size = 2
|
|
theme_override_font_sizes/font_size = 18
|
|
text = "100 / 100 HP"
|
|
horizontal_alignment = 1
|
|
vertical_alignment = 1
|