Update without restart

This commit is contained in:
Rendo 2025-12-17 02:20:20 +05:00
commit 4031e1384f

View file

@ -4,6 +4,7 @@ var popup_scene: PackedScene = preload("uid://5goo8fyxkv33")
var new_version_avaiable: bool var new_version_avaiable: bool
var popup: ConfirmationDialog var popup: ConfirmationDialog
var pack_file: String
signal update_version_text(to: StringName) signal update_version_text(to: StringName)
@ -14,10 +15,9 @@ func _ready() -> void:
popup.confirmed.connect(download_button_pressed) popup.confirmed.connect(download_button_pressed)
var patch_request: HTTPRequest = popup.get_node("HTTPRequest") var patch_request: HTTPRequest = popup.get_node("HTTPRequest")
var exec_path = OS.get_executable_path() var exec_dir = OS.get_executable_path().get_base_dir()
var splitted = exec_path.split("/") pack_file = exec_dir.path_join("chelimbalo.pck")
var exec_dir = exec_path.replace(splitted[len(splitted)-1],"") patch_request.download_file = pack_file
patch_request.download_file = exec_dir + "chelimbalo.pck"
patch_request.request_completed.connect(patch_downloaded) patch_request.request_completed.connect(patch_downloaded)
update_version_text.emit("Подгружаем данные с сервера...") update_version_text.emit("Подгружаем данные с сервера...")
@ -42,7 +42,7 @@ func download_button_pressed() -> void:
func patch_downloaded(result: int, _response_code: int, _headers: PackedStringArray, _body: PackedByteArray) -> void: func patch_downloaded(result: int, _response_code: int, _headers: PackedStringArray, _body: PackedByteArray) -> void:
if result == OK: if result == OK:
OS.create_process(OS.get_executable_path(),OS.get_cmdline_args()) ProjectSettings.load_resource_pack(pack_file)
get_tree().quit() get_tree().reload_current_scene()
else: else:
update_version_text.emit("[color=red]Ошибка загрузки новой версии:" + str(result) +"[/color]") update_version_text.emit("[color=red]Ошибка загрузки новой версии:" + str(result) +"[/color]")