class_name HoldHUD extends Control enum State { NONE, SELECTED, HELD, } var state := State.NONE var _selected_this_frame := false @onready var open_hand: Label = %OpenHand @onready var closed_hand: Label = %ClosedHand func prop_selected() -> void: state = State.SELECTED open_hand.visible = true closed_hand.visible = false func prop_held() -> void: state = State.HELD open_hand.visible = false closed_hand.visible = true func reset() -> void: state = State.NONE open_hand.visible = false closed_hand.visible = false func select_prop() -> void: _selected_this_frame = true if state == State.NONE: prop_selected() func deselect() -> void: if state == State.SELECTED: reset() func _process(_delta: float) -> void: if not _selected_this_frame: deselect() _selected_this_frame = false