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