75 lines
2.1 KiB
GDScript
75 lines
2.1 KiB
GDScript
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();
|