Files
Decked-Out-Defense/choose_card_screen.gd
2025-08-23 20:27:22 +10:00

40 lines
920 B
GDScript

class_name ChooseCardScreen extends Control
signal card_chosen(card: Card)
@export var choice_buttons: VBoxContainer
@export var card_desc: CardDescriptionUI
@export var card_name_label: Label
var choices: Array[Card] = []
var chosen_card: Card = null
var side_a: bool = true
func add_cards(cards: Array[Card]) -> void:
var x: int = 0
for card: Card in cards:
var button: Button = Button.new()
button.text = tr(card.display_name)
button.pressed.connect(choose_card.bind(x))
choices.append(card)
choice_buttons.add_child(button)
x += 1
choose_card(0)
func choose_card(choice: int) -> void:
chosen_card = choices[choice]
card_name_label.text = tr(chosen_card.display_name)
choose_side(side_a)
func choose_side(side_a_chosen: bool) -> void:
side_a = side_a_chosen
card_desc.set_card(chosen_card, side_a)
func _on_confirm_button_pressed() -> void:
card_chosen.emit(chosen_card)
queue_free()