Files
gamedev-the-steward/world/ui/ui.gd
T
2026-06-20 18:18:00 +02:00

45 lines
1.0 KiB
GDScript

extends CanvasLayer
const DEBUG_LOGS := false
@export var simulation_manager: Node
@onready var village_stats_label: Label = $VillagePanel/MarginContainer/VillageStatsLabel
func _ready() -> void:
if simulation_manager == null:
push_error("VillageUI: simulation_manager missing")
return
if simulation_manager.has_signal("village_changed"):
simulation_manager.village_changed.connect(_on_village_changed)
else:
push_error("VillageUI: SimulationManager has no village_changed signal")
if "village" in simulation_manager:
_on_village_changed(simulation_manager.village)
func _on_village_changed(village: SimVillage) -> void:
village_stats_label.text = """
Village
Food: %s
Wood: %s
Safety: %s
Knowledge: %s
Starving: %s
Food Mod: %.2f
Safety Mod: %.2f
Knowledge Mod: %.2f
""" % [
round(village.food),
round(village.wood),
round(village.safety),
round(village.knowledge),
simulation_manager.get_starving_count(),
village.food_modifier,
village.safety_modifier,
village.knowledge_modifier
]