35 lines
751 B
GDScript
35 lines
751 B
GDScript
class_name CardItem extends InteractButton
|
|
|
|
signal pressed(card_item: CardItem)
|
|
|
|
@export var outline_mesh: MeshInstance3D
|
|
@export var card_ui: CardInHand
|
|
var card: Card = null
|
|
var rarity_colors: Array[Color] = [
|
|
Color8(255, 255, 255),
|
|
Color8(50, 204, 36),
|
|
Color8(36, 59, 204),
|
|
Color8(181, 36, 204),
|
|
Color8(225, 112, 30)
|
|
]
|
|
|
|
|
|
func set_card(new_card: Card) -> void:
|
|
card = new_card
|
|
card_ui.set_card(card)
|
|
card_ui.view_tower()
|
|
outline_mesh.get_surface_override_material(0).albedo_color = rarity_colors[card.rarity]
|
|
#print(rarity_colors[card.rarity])
|
|
|
|
|
|
func press(callback_player: Hero) -> void:
|
|
pressed.emit(self)
|
|
|
|
|
|
func enable_hover_effect() -> void:
|
|
$Sprite3D.visible = true
|
|
|
|
|
|
func disable_hover_effect() -> void:
|
|
$Sprite3D.visible = false
|