extends Control onready var player_settings = find_node("settings_player") onready var game_tab = find_node("game") onready var controls_tab = find_node("controls") onready var graphics_tab = find_node("graphics") onready var system_tab = find_node("system") var locale func _ready(): get_node("menu/back").connect("pressed",self,"_on_back_pressed") # game find_node("bots").set_pressed(settings.read_value("bots", true)) # graphics find_node("fullscreen").set_pressed(settings.read_value("fullscreen", true)) find_node("light").set_pressed(settings.read_value("light", false)) find_node("shadows").set_pressed(settings.read_value("shadows", false)) find_node("shadows").set_disabled(not find_node("light").is_pressed()) for resolution in settings.RESOLUTIONS: find_node("resolution").add_item(str(resolution.x) + " * " + str(resolution.y)) find_node("resolution").select(settings.read_value("resolution", 0)) # system find_node("server_addr").set_text(game_server.get_server_addr()) find_node("api_addr").set_text(game_server.get_api_addr()) _init_locales() func _draw(): game_tab.grab_focus() func _on_back_pressed(): queue_free() get_tree().get_root().get_node("main_menu").show() func _on_locales_item_selected(index): match index: 0: locale = "en" 1: locale = "de" _: locale = "en" TranslationServer.set_locale(locale) game_tab.set_name(tr("GAME")) controls_tab.set_name(tr("CONTROLS")) graphics_tab.set_name(tr("GRAPHICS")) system_tab.set_name(tr("SYSTEM")) func _init_locales(): var locales = find_node("locales") locales.clear() locales.add_item(tr("LOCALE_EN")) locales.add_item(tr("LOCALE_DE")) locale = settings.read_value("locale","en") match locale: "en": locales.select(0) _on_locales_item_selected(0) "de": locales.select(1) _on_locales_item_selected(1) func _on_locales_tree_exiting(): settings.apply_locale() func _on_save_pressed(): _on_apply_pressed() _on_back_pressed() func _on_apply_pressed(): var values = {} # game values['player_name'] = player_settings.get_name_node().get_text() values['player_color'] = player_settings.get_color_node().color.to_html() values['bots'] = find_node("bots").is_pressed() values['locale'] = locale # graphics values['resolution'] = find_node("resolution").get_selected() values['fullscreen'] = find_node("fullscreen").is_pressed() values['light'] = find_node("light").is_pressed() values['shadows'] = find_node("shadows").is_pressed() # controls values['controls'] = find_node("settings_controls").new_inputs # system var server_addr = find_node("server_addr").get_text() if server_addr.empty(): server_addr = game_server.SERVER_ADDR values['server_addr'] = server_addr var api_addr = find_node("api_addr").get_text() if api_addr.empty(): api_addr = game_server.API_ADDR values['api_addr'] = api_addr settings.write_values(values) settings.apply_settings() func _on_light_toggled(button_pressed): find_node("shadows").set_disabled(not button_pressed)