@tool extends Control class_name IconButton signal on_pressed @export var data: String @export var image: Texture: set(value): image = value if is_inside_tree() and has_node("%Texture"): $%Texture.texture = image func _ready(): if image != null and has_node("%Texture"): $%Texture.texture = image func _on_gui_input(event: InputEvent) -> void: if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT and event.pressed: on_pressed.emit()