1
0
Fork 0
spacetac/screens/battle/hand.gd

47 lines
992 B
GDScript3
Raw Normal View History

extends Control
const NodesHelpers = preload("res://helpers/nodes.gd")
2020-02-18 22:24:00 +00:00
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")
2020-02-18 22:24:00 +00:00
func get_card_count():
""" Get the number of cards in hand
"""
return len(cards)
func rearrange():
""" Rearrange visually the cards in hand
"""
2020-02-20 23:01:10 +00:00
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
2020-02-18 22:24:00 +00:00
func on_card_played(card, anchor, unit):
""" 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)
emit_turn_end()
2020-02-18 22:24:00 +00:00
func emit_turn_end():
emit_signal("turn_end")