diff options
Diffstat (limited to 'demos/misc/window_management/observer/observer.gd')
-rw-r--r-- | demos/misc/window_management/observer/observer.gd | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/demos/misc/window_management/observer/observer.gd b/demos/misc/window_management/observer/observer.gd deleted file mode 100644 index f100811859..0000000000 --- a/demos/misc/window_management/observer/observer.gd +++ /dev/null @@ -1,78 +0,0 @@ - -extends Spatial - -# Member variables -var r_pos = Vector2() -var state - -const STATE_MENU = 0 -const STATE_GRAB = 1 - - -func direction(vector): - var v = get_node("Camera").get_global_transform().basis*vector - v = v.normalized() - return v - - -func impulse(event, action): - if(event.is_action(action) && event.is_pressed() && !event.is_echo()): - return true - else: - return false - - -func _fixed_process(delta): - if(state != STATE_GRAB): - return - - if(Input.get_mouse_mode() != Input.MOUSE_MODE_CAPTURED): - Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) - - var dir = Vector3() - var cam = get_global_transform() - var org = get_translation() - - if (Input.is_action_pressed("move_forward")): - dir += direction(Vector3(0, 0, -1)) - if (Input.is_action_pressed("move_backwards")): - dir += direction(Vector3(0, 0, 1)) - if (Input.is_action_pressed("move_left")): - dir += direction(Vector3(-1, 0, 0)) - if (Input.is_action_pressed("move_right")): - dir += direction(Vector3(1, 0, 0)) - - dir = dir.normalized() - - move(dir*10*delta) - var d = delta*0.1 - - var yaw = get_transform().rotated(Vector3(0, 1, 0), d*r_pos.x) - set_transform(yaw) - - var cam = get_node("Camera") - var pitch = cam.get_transform().rotated(Vector3(1, 0, 0), d*r_pos.y) - cam.set_transform(pitch) - - r_pos.x = 0.0 - r_pos.y = 0.0 - - -func _input(event): - if(event.type == InputEvent.MOUSE_MOTION): - r_pos = event.relative_pos - - if(impulse(event, "ui_cancel")): - if(state == STATE_GRAB): - Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) - state = STATE_MENU - else: - Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) - state = STATE_GRAB - - -func _ready(): - set_fixed_process(true) - set_process_input(true) - - state = STATE_MENU |