extends Node class_name MainMenu @export var scene: PackedScene @export var load_scene_immediately: bool = false @export var fullscreen: bool = false @export var screen_size_fractional: float = 0.5 func _ready() -> void: _set_project_version() _set_screen_size() if load_scene_immediately: _load_scene() func _set_project_version() -> void: var version = ProjectSettings.get_setting("application/config/version") %buildVersion.text = "v" + str(version) func _set_screen_size() -> void: var _screen_size: Vector2i = DisplayServer.screen_get_size() if fullscreen: DisplayServer.window_set_position(Vector2i.ZERO) DisplayServer.window_set_size(_screen_size) else: var _win_pos = _screen_size * (1.0 - screen_size_fractional) * 0.5 var _win_size = _screen_size * screen_size_fractional DisplayServer.window_set_position(_win_pos) DisplayServer.window_set_size(_win_size) func _input(event: InputEvent) -> void: if event.is_action_pressed("ui_cancel"): get_tree().quit() func _on_start_pressed() -> void: _load_scene() func _load_scene(): if scene: get_tree().change_scene_to_packed(scene) else: print_debug("No scene to change to!")