From d8c79b145143b19e1fe3da7d7a6b54db30898849 Mon Sep 17 00:00:00 2001 From: Tiger Date: Fri, 13 Feb 2026 09:46:27 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=BA=86=E8=B5=84?= =?UTF-8?q?=E6=BA=90=E6=97=A0=E6=B3=95=E4=B8=8B=E8=BD=BD=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 38 ++++++++++++++--------------- scripts/autoload/DownloadManager.gd | 25 ++++++++++--------- scripts/settings/settings.gd | 2 +- 3 files changed, 33 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 70cf999..ab7bbc5 100644 --- a/README.md +++ b/README.md @@ -14,27 +14,27 @@ game/ - project.godot - icon.svg - assets/ - - fonts/ - - AlibabaPuHuiTi-3-65-Medium.ttf # 阿里巴巴普惠体 - - pics/ + - fonts/ + - AlibabaPuHuiTi-3-65-Medium.ttf # 阿里巴巴普惠体 + - pics/ - scenes - - main_menu.tscn - - game.tscn - - settings.tscn + - main_menu.tscn + - game.tscn + - settings.tscn - scripts/ - - autoload/ - - GameManager.gd # 游戏管理 - - DownloadManager.gd # 下载管理 - - MultiGame.gd # 多人游戏功能 - - SceneManager.gd # 场景管理 - - main_menu/ - - main_menu.gd - - join_game_ui.gd - - create_game_ui.gd - - game/ - - game.gd - - settings/ - - settings.gd + - autoload/ + - GameManager.gd # 游戏管理 + - DownloadManager.gd # 下载管理 + - MultiGame.gd # 多人游戏功能 + - SceneManager.gd # 场景管理 + - main_menu/ + - main_menu.gd + - join_game_ui.gd + - create_game_ui.gd + - game/ + - game.gd + - settings/ + - settings.gd ``` ## 如何运行 diff --git a/scripts/autoload/DownloadManager.gd b/scripts/autoload/DownloadManager.gd index 20b4607..b9a3ec1 100644 --- a/scripts/autoload/DownloadManager.gd +++ b/scripts/autoload/DownloadManager.gd @@ -17,6 +17,7 @@ func download_file(server_path: String, local_path: String) -> void: create_file(file_path) http.download_file = file_path http.request(server_path) + await http.request_completed func get_uuid() -> void: var index_file = FileAccess.open("user://download/temp/index.json", FileAccess.READ) @@ -34,7 +35,7 @@ func download_defs(type: String, origin: String) -> void: return for k in list: var filename = list[k] - download_file("%s%s/id/%s" % [origin, type, k], "user://download/%s/%ss/%s.json" % [uuid, type, filename]) + await download_file("%s%s/id/%s" % [origin, type, k], "user://download/%s/%ss/%s.json" % [uuid, type, filename]) func download_assets(origin: String) -> void: var list_file = FileAccess.open("user://download/%s/assets/list.json" % [uuid], FileAccess.READ) @@ -45,10 +46,10 @@ func download_assets(origin: String) -> void: return for k in list["pics"]: var filename = list["pics"][k] - download_file("%sasset/pic/%s" % [origin, k], "user://download/%s/assets/pics/%s" % [uuid, filename]) + await download_file("%sasset/pic/%s" % [origin, k], "user://download/%s/assets/pics/%s" % [uuid, filename]) for k in list["sounds"]: var filename = list["sounds"][k] - download_file("%sasset/sound/%s" % [origin, k], "user://download/%s/assets/sounds/%s" % [uuid, filename]) + await download_file("%sasset/sound/%s" % [origin, k], "user://download/%s/assets/sounds/%s" % [uuid, filename]) func download_from_origin() -> int: var origin = GameManager.data_origin @@ -64,18 +65,18 @@ func download_from_origin() -> int: if origin[-1] != "/": origin = origin + "/" - download_file(origin + "index", "user://download/temp/index.json") + await download_file(origin + "index", "user://download/temp/index.json") - download_file(origin + "card/list", "user://download/%s/cards/list.json" % [uuid]) - download_file(origin + "reaction/list", "user://download/%s/reactions/list.json" % [uuid]) - download_file(origin + "matter/list", "user://download/%s/matters/list.json" % [uuid]) - download_file(origin + "asset/list", "user://download/%s/assets/list.json" % [uuid]) + await download_file(origin + "card/list", "user://download/%s/cards/list.json" % [uuid]) + await download_file(origin + "reaction/list", "user://download/%s/reactions/list.json" % [uuid]) + await download_file(origin + "matter/list", "user://download/%s/matters/list.json" % [uuid]) + await download_file(origin + "asset/list", "user://download/%s/assets/list.json" % [uuid]) - download_defs("card", origin) - download_defs("reaction", origin) - download_defs("matter", origin) + await download_defs("card", origin) + await download_defs("reaction", origin) + await download_defs("matter", origin) - download_assets(origin) + await download_assets(origin) return 0 diff --git a/scripts/settings/settings.gd b/scripts/settings/settings.gd index e08f370..11a25c6 100644 --- a/scripts/settings/settings.gd +++ b/scripts/settings/settings.gd @@ -18,7 +18,7 @@ func _on_cancel_button_pressed() -> void: func _on_download_button_pressed() -> void: $Tips.text = "提示:已开始下载,请勿关闭设置页面" - var result: int = DownloadManager.download_from_origin() + var result: int = await DownloadManager.download_from_origin() if result == 1: $Tips.text = "提示:下载失败。数据源路径错误" return