extends Node2D var windowSize; func _ready(): windowSize = SettingsSingleton.GetCurrectScreenResolutionVector2() SetBackground(); SetText(); func SetBackground(): $Polygon2D.set_polygon(PoolVector2Array([ Vector2(0, 0), Vector2(0, 1080), Vector2(1920, 1080), Vector2(1920, 0) ])); func SetText(): for i in $Texts.get_children(): var button = (i as Button); button.connect("mouse_entered", self, "onButtonHoverOn", [button]); button.connect("mouse_exited", self, "onButtonHoverOff", [button]); button.connect("pressed", self, "languageSelected", [button.text]); $Texts.rect_position = Vector2(1920, 1080) / 2 - $Texts.rect_size / 2; func onButtonHoverOn(button): (button as Button).get("custom_fonts/font").outline_color = Color(213, 55, 29, 255) func onButtonHoverOff(button): (button as Button).get("custom_fonts/font").outline_color = Color(0, 0, 0, 255) func languageSelected(langName): var lang = ""; if langName == "ENGLISH": lang = "en" elif langName == "РУССКИЙ": lang = "ru"; elif langName == "УКРАЇНСЬКА": lang = "uk"; SettingsSingleton.SetCurrentLanguage(lang); SettingsSingleton.SetVoiceoverLanguage(lang); var resolution = str(windowSize.x) + "x" + str(windowSize.y); resolution = "1920x1080" SettingsSingleton.SetCurrectScreenResolution(resolution) SettingsSingleton.SetCurrectWindowState(2); SettingsSingleton.SaveSettings() SettingsSingleton.SetFirstStartup(false); if not SceneLoader.is_connected("on_scene_loaded", self, "MenuLoaded"): var _temp = SceneLoader.connect("on_scene_loaded", self, "MenuLoaded"); SceneLoader.load_scene("res://scenes/MainMenu.tscn") func MenuLoaded(obj): if obj.path != "res://scenes/MainMenu.tscn": return ; if obj.instance != null: get_tree().root.add_child(obj.instance); for i in get_tree().root.get_children(): if i.name == "SelectLanguageScene": get_tree().root.remove_child(i); break; SceneLoader.disconnect("on_scene_loaded", self, "MenuLoaded"); func _input(event): if event is InputEventKey and event.scancode == KEY_ESCAPE and event.pressed == false: get_tree().quit();