generated from krampus/template-godot4
31 lines
994 B
GDScript
31 lines
994 B
GDScript
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()
|