1234567891011121314151617181920212223242526272829 |
- extends Area2D
- class_name Demon
- var is_being_dragged: bool = false
- func _on_mouse_entered():
- if not GlobalInput.is_dragging():
- # TODO: add custom cursor image
- Input.set_custom_mouse_cursor(null, Input.CURSOR_MOVE)
- func _on_mouse_exited():
- if not GlobalInput.is_dragging():
- # TODO: add custom cursor image
- Input.set_custom_mouse_cursor(null, Input.CURSOR_ARROW)
- func _on_input_event(_viewport: Node, event: InputEvent, _shape_idx: int):
- if event is InputEventMouseButton:
- handle_click(event)
- func handle_click(event: InputEventMouseButton):
- if event.button_index != MOUSE_BUTTON_LEFT:
- return
-
- if event.pressed && not GlobalInput.is_dragging():
- is_being_dragged = true
- GlobalInput.start_dragging(self)
- elif not event.pressed && is_being_dragged:
- is_being_dragged = false
- GlobalInput.stop_dragging()
|