33 lines
956 B
GDScript
33 lines
956 B
GDScript
extends Node
|
|
|
|
var config: Config = Config.new()
|
|
|
|
func _ready() -> void:
|
|
Save.load(config)
|
|
toggle_fullscreen()
|
|
|
|
func _process(_delta: float) -> void:
|
|
if Input.is_action_just_pressed("fullscreen"):
|
|
config.fullscreen = !config.fullscreen
|
|
Save.save(config)
|
|
toggle_fullscreen()
|
|
|
|
func _notification(what: int) -> void:
|
|
if what == Window.NOTIFICATION_APPLICATION_FOCUS_OUT:
|
|
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
|
|
|
|
func _unhandled_input(event: InputEvent) -> void:
|
|
if event is InputEventMouse:
|
|
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
|
|
elif !event.is_action("escape"):
|
|
Input.mouse_mode = Input.MOUSE_MODE_HIDDEN
|
|
|
|
func toggle_fullscreen() -> void:
|
|
if config.fullscreen:
|
|
if OS.get_name() == "Windows":
|
|
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_EXCLUSIVE_FULLSCREEN)
|
|
else:
|
|
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)
|
|
else:
|
|
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
|