Browse Source

:sparkles: improved fullscreen toggle

Felix Bytow 10 months ago
parent
commit
5234cf7a04
1 changed files with 5 additions and 5 deletions
  1. 5 5
      assets/autoload/global_input.gd

+ 5 - 5
assets/autoload/global_input.gd

@@ -1,14 +1,14 @@
 extends Node
 
-var fullscreen = ProjectSettings.get_setting("display/window/size/mode") in [
+const FULL_SCREEN_MODES: Array[DisplayServer.WindowMode] = [
 	DisplayServer.WINDOW_MODE_EXCLUSIVE_FULLSCREEN,
 	DisplayServer.WINDOW_MODE_FULLSCREEN,
 ]
 
 func _input(event: InputEvent):
 	if event.is_action_pressed("toggle_fullscreen"):
-		fullscreen = !fullscreen
-		if fullscreen:
-			DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)
-		else:
+		var current_mode = DisplayServer.window_get_mode()
+		if current_mode in FULL_SCREEN_MODES:
 			DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
+		else:
+			DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)