Files
settled-reach/client/ui/hud.gd
T
jpmschweitzerandClaude Opus 4.6 5a04656781 feat(ui): add YAML-based UI string loading system (#409)
Adds UIStrings autoload that loads display text from a YAML file,
replacing hardcoded strings in HUD and interaction prompt. Copy team
can now author UI microcopy in client/data/ui-strings.yaml without
touching GDScript. Includes 38 strings across 5 categories and 16
gdUnit4 tests for the parser and lookup API.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 17:18:01 +01:00

25 lines
941 B
GDScript

extends Control
# HUD — displays player health, perception mode, time, etc.
@onready var health_label: Label = $MarginContainer/VBoxContainer/HealthLabel
@onready var perception_label: Label = $MarginContainer/VBoxContainer/PerceptionLabel
@onready var time_label: Label = $MarginContainer/VBoxContainer/TimeLabel
func _ready() -> void:
print("HUD: Initialized")
# Update HUD from snapshot data
func update_from_hud_data(data: Dictionary) -> void:
# Update perception mode display
if data.has("perception_mode"):
perception_label.text = UIStrings.get_text("hud.mode_label") + ": " + data.perception_mode.capitalize()
# Update time display (per D-031)
if data.has("time"):
time_label.text = UIStrings.get_text("hud.time_label") + ": " + data.time
# Update player health (from player data, not hud_data)
func update_health(health: int) -> void:
health_label.text = UIStrings.get_text("hud.health_label") + ": " + str(health)