summaryrefslogtreecommitdiffstats
path: root/MouseInput.gd
diff options
context:
space:
mode:
authordusoleil <howcansocksbereal@gmail.com>2022-07-23 10:48:05 -0400
committerdusoleil <howcansocksbereal@gmail.com>2022-07-23 10:48:05 -0400
commitb1d3ff55329758f413864f68608c20ef33202a5c (patch)
tree61a8556c132ff818757366f4ce6f2791f008be13 /MouseInput.gd
parent2a5aa7dc898b57d58e941d24b03a1d83ff9ddd81 (diff)
downloadchicken-chaser-gd-b1d3ff55329758f413864f68608c20ef33202a5c.tar.gz
chicken-chaser-gd-b1d3ff55329758f413864f68608c20ef33202a5c.zip
Move all of the mouse consumption and aggregation
Diffstat (limited to 'MouseInput.gd')
-rw-r--r--MouseInput.gd17
1 files changed, 17 insertions, 0 deletions
diff --git a/MouseInput.gd b/MouseInput.gd
index e47e3c7..5805a02 100644
--- a/MouseInput.gd
+++ b/MouseInput.gd
@@ -9,3 +9,20 @@ func get_mouse_movement():
func add_mouse_movement(relative):
mouse_movement += relative
+
+func _ready():
+ Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
+
+func _notification(what):
+ if what == MainLoop.NOTIFICATION_WM_FOCUS_OUT:
+ Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
+
+func _input(event):
+ if event.is_action_pressed("ui_cancel"):
+ Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
+ if Input.get_mouse_mode() == Input.MOUSE_MODE_VISIBLE:
+ if event.is_action_pressed("click"):
+ Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
+ else:
+ if event is InputEventMouseMotion:
+ add_mouse_movement(event.relative)