clockwork-city/prefabs/ui/player_info.gd

31 lines
986 B
GDScript3
Raw Normal View History

class_name PlayerInfo extends HBoxContainer
const PLAYER_ACTION_LIGHT_SCENE = preload("uid://1ltfumpg4ds3")
@onready var permits_container: Container = %Permits
@onready var name_label: Label = %Name
@onready var money_label: Label = %Money
@onready var votes_label: Label = %Votes
func set_player(player: Player) -> void:
player.changed.connect(_update_player_info)
if player.id == Globals.game.this_player.id:
name_label.text = "* %s" % player.name
else:
name_label.text = player.name
name_label.label_settings.font_color = player.color
_update_player_info(player)
func _update_player_info(player: Player) -> void:
money_label.text = "$%d" % player.money
2026-04-29 14:29:15 -05:00
votes_label.text = "%d" % player.votes
for child in permits_container.get_children():
child.queue_free()
for i in range(player.building_permits):
var light: PlayerActionLight = PLAYER_ACTION_LIGHT_SCENE.instantiate()
permits_container.add_child(light)
if i < player.build_actions_taken:
light.use()