summaryrefslogblamecommitdiffstats
path: root/MouseInput.gd
blob: 5805a02eb197d9ab22acd4e1da6558098ac8bb20 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11










                                  
















                                                                       
extends Node

var mouse_movement = Vector2.ZERO

func get_mouse_movement():
	var ret = mouse_movement
	mouse_movement -= ret
	return ret

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)