fix: add class_name to HandArea and CardNode, fix type inference in training_room
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
class_name CardNode
|
||||
extends Control
|
||||
|
||||
signal card_clicked(card_node)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
class_name HandArea
|
||||
extends HBoxContainer
|
||||
|
||||
signal cards_selected(selected: Array)
|
||||
@@ -5,38 +6,38 @@ signal hint_requested()
|
||||
signal play_requested()
|
||||
signal pass_requested()
|
||||
|
||||
var card_nodes: Array = []
|
||||
var card_nodes: Array[CardNode] = []
|
||||
var selected_cards: Array = []
|
||||
const CARD_SCENE := preload("res://src/ui/components/card_node.tscn")
|
||||
|
||||
var training_controller: TrainingController = null
|
||||
|
||||
func update_hand(hand: Array) -> void:
|
||||
for cn in card_nodes:
|
||||
cn.queue_free()
|
||||
card_nodes.clear()
|
||||
selected_cards.clear()
|
||||
for c in hand:
|
||||
var node: Control = CARD_SCENE.instantiate()
|
||||
node.setup(c)
|
||||
node.card_clicked.connect(_on_card_clicked)
|
||||
node.card_double_clicked.connect(_on_card_double_clicked)
|
||||
add_child(node)
|
||||
card_nodes.append(node)
|
||||
for cn in card_nodes:
|
||||
cn.queue_free()
|
||||
card_nodes.clear()
|
||||
selected_cards.clear()
|
||||
for c in hand:
|
||||
var node: CardNode = CARD_SCENE.instantiate()
|
||||
node.setup(c)
|
||||
node.card_clicked.connect(_on_card_clicked)
|
||||
node.card_double_clicked.connect(_on_card_double_clicked)
|
||||
add_child(node)
|
||||
card_nodes.append(node)
|
||||
|
||||
func _on_card_clicked(card_node: Node) -> void:
|
||||
card_node.set_selected(not card_node.is_selected)
|
||||
if card_node.is_selected:
|
||||
selected_cards.append(card_node.card_data)
|
||||
else:
|
||||
selected_cards.erase(card_node.card_data)
|
||||
cards_selected.emit(selected_cards)
|
||||
func _on_card_clicked(card_node: CardNode) -> void:
|
||||
card_node.set_selected(not card_node.is_selected)
|
||||
if card_node.is_selected:
|
||||
selected_cards.append(card_node.card_data)
|
||||
else:
|
||||
selected_cards.erase(card_node.card_data)
|
||||
cards_selected.emit(selected_cards)
|
||||
|
||||
func _on_card_double_clicked(card_node: Node) -> void:
|
||||
if not card_node.is_selected:
|
||||
card_node.set_selected(true)
|
||||
selected_cards.append(card_node.card_data)
|
||||
play_requested.emit()
|
||||
func _on_card_double_clicked(card_node: CardNode) -> void:
|
||||
if not card_node.is_selected:
|
||||
card_node.set_selected(true)
|
||||
selected_cards.append(card_node.card_data)
|
||||
play_requested.emit()
|
||||
|
||||
func _on_hint_pressed() -> void:
|
||||
hint_requested.emit()
|
||||
|
||||
@@ -2,7 +2,7 @@ extends Control
|
||||
|
||||
var controller: TrainingController
|
||||
|
||||
@onready var hand_area: Node = $HandArea
|
||||
@onready var hand_area: HandArea = $HandArea
|
||||
@onready var play_button: Button = $Buttons/PlayButton
|
||||
@onready var pass_button: Button = $Buttons/PassButton
|
||||
@onready var hint_button: Button = $Buttons/HintButton
|
||||
|
||||
Reference in New Issue
Block a user