]> Untitled Git - baabarian.git/blob - main.gd
* Fixed skin states in process_player
[baabarian.git] / main.gd
1 extends Node
2 class_name MainMenu
3
4
5 @export var scene: PackedScene
6 @export var load_scene_immediately: bool = false
7 @export var fullscreen: bool = false
8 @export var screen_size_fractional: float = 0.5
9
10
11 func _ready() -> void:
12         _set_project_version()
13         _set_screen_size()
14         
15         if load_scene_immediately:
16                 _load_scene()
17
18
19 func _set_project_version() -> void:
20         var version = ProjectSettings.get_setting("application/config/version")
21         %buildVersion.text = "v" + str(version)
22
23
24 func _set_screen_size() -> void:
25         var _screen_size: Vector2i = DisplayServer.screen_get_size()
26         if fullscreen:
27                 DisplayServer.window_set_position(Vector2i.ZERO)
28                 DisplayServer.window_set_size(_screen_size)
29         else:
30                 var _win_pos = _screen_size * (1.0 - screen_size_fractional) * 0.5
31                 var _win_size = _screen_size * screen_size_fractional
32                 DisplayServer.window_set_position(_win_pos)
33                 DisplayServer.window_set_size(_win_size)
34
35
36 func _input(event: InputEvent) -> void:
37         if event.is_action_pressed("ui_cancel"):
38                 get_tree().quit()
39
40
41 func _on_start_pressed() -> void:
42         _load_scene()
43
44
45 func _load_scene():
46         if scene:
47                 get_tree().change_scene_to_packed(scene)
48         else:
49                 print_debug("No scene to change to!")