44 lines
812 B
GDScript3
44 lines
812 B
GDScript3
|
extends Control
|
||
|
|
||
|
const NodesHelpers = preload("res://helpers/nodes.gd")
|
||
|
|
||
|
signal turn_end
|
||
|
|
||
|
export var attack = false
|
||
|
var cards = []
|
||
|
|
||
|
func _ready():
|
||
|
if has_node("skip"):
|
||
|
$skip.connect("pressed", self, "emit_turn_end")
|
||
|
|
||
|
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 i = 0
|
||
|
for card in cards:
|
||
|
card.set_hand_location(Vector2(i * 210, 0))
|
||
|
i += 1
|
||
|
|
||
|
func on_card_played(card, anchor):
|
||
|
""" Called when a card is played
|
||
|
"""
|
||
|
card.queue_free()
|
||
|
cards.erase(card)
|
||
|
rearrange()
|
||
|
emit_turn_end()
|
||
|
|
||
|
func emit_turn_end():
|
||
|
emit_signal("turn_end")
|