extends Node2D var current_action_idx := 0 var last_action_idx := 0 func _ready() -> void: Input.mouse_mode = Input.MOUSE_MODE_HIDDEN $Actions.play("000") func _process(_delta: float) -> void: global_position = get_global_mouse_position() if Input.get_current_cursor_shape() == Input.CURSOR_ARROW: current_action_idx = 0 elif Input.get_current_cursor_shape() == Input.CURSOR_POINTING_HAND: current_action_idx = 2 else: # use default OS cursor current_action_idx = -1 if current_action_idx != last_action_idx: if current_action_idx == -1: Input.mouse_mode = Input.MOUSE_MODE_VISIBLE $Actions.visible = false else: Input.mouse_mode = Input.MOUSE_MODE_HIDDEN $Actions.visible = true $Actions.play(str(current_action_idx).pad_zeros(3)) last_action_idx = current_action_idx