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 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()