class_name Block extends StaticBody3D const PREFAB: PackedScene = preload("res://scenes/blocks/block.tscn") @export var block_mesh: BlockMesh @export var collision_shape: CollisionShape3D @export var highlight_mesh: MeshInstance3D var id: String func _exit_tree() -> void: if Waila.ref.get_target() == self: Waila.ref.release_target() func get_id() -> String: return id func hook() -> void: if not GameSettingsManager.settings.game_options.enable_block_highlight: return highlight_mesh.visible = true # TODO: Rename to something else (maybe remove()) # Move to signal? func destroy_block() -> void: queue_free() func release() -> void: highlight_mesh.visible = false func set_id(block_id: String) -> void: id = block_id if id in DBItems.data: block_mesh.apply_material(DBItems.data[id].material_texture) else: printerr("Unknown Block ID: ", id)