extends Control const NodesHelpers = preload("res://helpers/nodes.gd") signal unit_created(unit) signal turn_end export var attack = false var cards = [] func add_card(card): """ Add a card to the hand """ cards.append(card) NodesHelpers.set_parent(card, self) card.connect("played", self, "on_card_played") func get_card_count(): """ Get the number of cards in hand """ return len(cards) func rearrange(): """ Rearrange visually the cards in hand """ var cardcount = len(cards) if cardcount: var i = 0 var cardwidth = cards[0].get_size().x var spacing = (rect_size.x - cardwidth * cardcount) / (cardcount + 1) for card in cards: card.set_hand_location(Vector2((i + 1) * (cardwidth + spacing) - cardwidth, 0)) i += 1 func on_card_played(card, anchor, unit): """ Called when a card is played """ card.queue_free() cards.erase(card) rearrange() if unit: emit_signal("unit_created", unit) emit_turn_end() func emit_turn_end(): emit_signal("turn_end")