Advertisement
DimOkGamer

Godot Engine Control Left & Right mouse emit signals

Feb 27th, 2022
2,104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # Extends the functionality of the Control,
  2. # allowing it to emit signals when the right or left mouse button is down.
  3. # You can use this script with any Control.
  4.  
  5. extends Control
  6.  
  7. export var emit_only_when_hover = false
  8.  
  9. var left_pressed = false
  10. var right_pressed = false
  11.  
  12. signal left_down
  13. signal right_down
  14.  
  15. func _process(_delta: float) -> void:
  16.     if emit_only_when_hover and !get_rect().has_point(get_local_mouse_position()):
  17.         return
  18.    
  19.     if left_pressed:
  20.         emit_signal("left_down")
  21.     if right_pressed:
  22.         emit_signal("right_down")
  23.  
  24. func _gui_input(event):
  25.     if event is InputEventMouseButton:
  26.         match event.button_index:
  27.             BUTTON_LEFT:
  28.                 left_pressed = event.pressed
  29.             BUTTON_RIGHT:
  30.                 right_pressed = event.pressed
  31.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement