29 lines
639 B
GDScript
29 lines
639 B
GDScript
class_name CassetteItem
|
|
extends InteractButton
|
|
|
|
signal pressed(cassette_item: CassetteItem)
|
|
|
|
@export var outline_mesh: MeshInstance3D
|
|
@export var cassette_ui: CassetteInHand
|
|
|
|
var cassette: Cassette = null
|
|
|
|
|
|
func set_cassette(new_cassette: Cassette) -> void:
|
|
cassette = new_cassette
|
|
cassette_ui.set_cassette(cassette)
|
|
cassette_ui.view_tower()
|
|
outline_mesh.get_surface_override_material(0).albedo_color = Data.rarity_colors[cassette.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
|