65 lines
1.8 KiB
GDScript
65 lines
1.8 KiB
GDScript
extends Control
|
|
|
|
|
|
var player: Node
|
|
var visible_mode: int = 1
|
|
|
|
|
|
func _init() -> void:
|
|
RenderingServer.set_debug_generate_wireframes(true)
|
|
|
|
|
|
func _process(p_delta) -> void:
|
|
$Label.text = "FPS: %d\n" % Engine.get_frames_per_second()
|
|
if(visible_mode == 1):
|
|
$Label.text += "Move Speed: %.1f\n" % player.MOVE_SPEED if player else ""
|
|
$Label.text += "Position: %.1v\n" % player.global_position if player else ""
|
|
$Label.text += """
|
|
Player
|
|
Move: WASDEQ,Space,Mouse
|
|
Move speed: Wheel,+/-,Shift
|
|
Camera View: V
|
|
Gravity toggle: G
|
|
Collision toggle: C
|
|
|
|
Window
|
|
Quit: F8
|
|
UI toggle: F9
|
|
Render mode: F10
|
|
Full screen: F11
|
|
Mouse toggle: Escape / F12
|
|
"""
|
|
|
|
|
|
func _unhandled_key_input(p_event: InputEvent) -> void:
|
|
if p_event is InputEventKey and p_event.pressed:
|
|
match p_event.keycode:
|
|
KEY_F8:
|
|
get_tree().quit()
|
|
KEY_F9:
|
|
visible_mode = (visible_mode + 1 ) % 3
|
|
$Label/Panel.visible = (visible_mode == 1)
|
|
visible = visible_mode > 0
|
|
KEY_F10:
|
|
var vp = get_viewport()
|
|
vp.debug_draw = (vp.debug_draw + 1 ) % 6
|
|
get_viewport().set_input_as_handled()
|
|
KEY_F11:
|
|
toggle_fullscreen()
|
|
get_viewport().set_input_as_handled()
|
|
KEY_ESCAPE, KEY_F12:
|
|
if Input.get_mouse_mode() == Input.MOUSE_MODE_VISIBLE:
|
|
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
|
|
else:
|
|
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
|
|
get_viewport().set_input_as_handled()
|
|
|
|
|
|
func toggle_fullscreen() -> void:
|
|
if DisplayServer.window_get_mode() == DisplayServer.WINDOW_MODE_EXCLUSIVE_FULLSCREEN or \
|
|
DisplayServer.window_get_mode() == DisplayServer.WINDOW_MODE_FULLSCREEN:
|
|
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
|
|
DisplayServer.window_set_size(Vector2(1280, 720))
|
|
else:
|
|
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_EXCLUSIVE_FULLSCREEN)
|