extends Area2D class_name InspectableEntity const MODULATE_INSPECTED_COLOR = Color.GRAY @onready var default_modulate : Color = modulate @onready var inspectable_signals_setuped : bool = setup_inspectable_signals() var inspected : bool = false : set(v): inspected = v modulate = MODULATE_INSPECTED_COLOR if inspected else default_modulate func setup_inspectable_signals() -> bool: mouse_entered.connect(_on_mouse_entered) mouse_exited.connect(_on_mouse_excited) return true func _on_mouse_entered(): Pointer.inspect_entity(self) func _on_mouse_excited(): Pointer.stop_inspect_entity(self) func pointer_text(): return "" func inspector_info() -> Inspector.Info: return Inspector.Info.new( pointer_text() )