2020-02-17 18:52:36 +00:00
|
|
|
extends Control
|
|
|
|
|
|
|
|
const NodesHelpers = preload("res://helpers/nodes.gd")
|
|
|
|
|
2020-02-18 22:24:00 +00:00
|
|
|
signal unit_created(unit)
|
2020-02-17 18:52:36 +00:00
|
|
|
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")
|
2020-02-18 22:24:00 +00:00
|
|
|
|
2020-02-17 18:52:36 +00:00
|
|
|
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
|
2020-02-18 22:24:00 +00:00
|
|
|
|
|
|
|
func on_card_played(card, anchor, unit):
|
2020-02-17 18:52:36 +00:00
|
|
|
""" Called when a card is played
|
|
|
|
"""
|
|
|
|
card.queue_free()
|
|
|
|
cards.erase(card)
|
|
|
|
rearrange()
|
2020-02-18 22:24:00 +00:00
|
|
|
if unit:
|
|
|
|
emit_signal("unit_created", unit)
|
2020-02-17 18:52:36 +00:00
|
|
|
emit_turn_end()
|
2020-02-18 22:24:00 +00:00
|
|
|
|
2020-02-17 18:52:36 +00:00
|
|
|
func emit_turn_end():
|
|
|
|
emit_signal("turn_end")
|