extends Control class_name CardDisplay var card_displays = [] const CARD_WIDTH = 100 const CARD_HEIGHT = 150 const CARD_MARGIN = 10 var container: HBoxContainer func _ready(): container = HBoxContainer.new() container.name = "CardContainer" container.set_position(Vector2(10, 500)) add_child(container) func update_hand(hand: Array): clear_cards() for card in hand: add_card_display(card) func add_card_display(card: Card): var card_panel = PanelContainer.new() card_panel.custom_minimum_size = Vector2(CARD_WIDTH, CARD_HEIGHT) var vbox = VBoxContainer.new() card_panel.add_child(vbox) var name_label = Label.new() name_label.text = card.card_name name_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER vbox.add_child(name_label) var rank_label = Label.new() rank_label.text = "Rank " + str(card.rank) rank_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER vbox.add_child(rank_label) var desc_label = Label.new() desc_label.text = card.description desc_label.autowrap_mode = TextServer.AUTOWRAP_WORD desc_label.custom_minimum_size = Vector2(CARD_WIDTH - 10, 0) vbox.add_child(desc_label) card_displays.append(card_panel) container.add_child(card_panel) func clear_cards(): for display in card_displays: display.queue_free() card_displays.clear()