fix: 修复了资源无法下载的bug

This commit is contained in:
2026-02-13 09:46:27 +08:00
parent 368b9b27c6
commit d8c79b1451
3 changed files with 33 additions and 32 deletions
+19 -19
View File
@@ -14,27 +14,27 @@ game/
- project.godot - project.godot
- icon.svg - icon.svg
- assets/ - assets/
- fonts/ - fonts/
- AlibabaPuHuiTi-3-65-Medium.ttf # 阿里巴巴普惠体 - AlibabaPuHuiTi-3-65-Medium.ttf # 阿里巴巴普惠体
- pics/ - pics/
- scenes - scenes
- main_menu.tscn - main_menu.tscn
- game.tscn - game.tscn
- settings.tscn - settings.tscn
- scripts/ - scripts/
- autoload/ - autoload/
- GameManager.gd # 游戏管理 - GameManager.gd # 游戏管理
- DownloadManager.gd # 下载管理 - DownloadManager.gd # 下载管理
- MultiGame.gd # 多人游戏功能 - MultiGame.gd # 多人游戏功能
- SceneManager.gd # 场景管理 - SceneManager.gd # 场景管理
- main_menu/ - main_menu/
- main_menu.gd - main_menu.gd
- join_game_ui.gd - join_game_ui.gd
- create_game_ui.gd - create_game_ui.gd
- game/ - game/
- game.gd - game.gd
- settings/ - settings/
- settings.gd - settings.gd
``` ```
## 如何运行 ## 如何运行
+13 -12
View File
@@ -17,6 +17,7 @@ func download_file(server_path: String, local_path: String) -> void:
create_file(file_path) create_file(file_path)
http.download_file = file_path http.download_file = file_path
http.request(server_path) http.request(server_path)
await http.request_completed
func get_uuid() -> void: func get_uuid() -> void:
var index_file = FileAccess.open("user://download/temp/index.json", FileAccess.READ) 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 return
for k in list: for k in list:
var filename = list[k] 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: func download_assets(origin: String) -> void:
var list_file = FileAccess.open("user://download/%s/assets/list.json" % [uuid], FileAccess.READ) 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 return
for k in list["pics"]: for k in list["pics"]:
var filename = list["pics"][k] 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"]: for k in list["sounds"]:
var filename = list["sounds"][k] 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: func download_from_origin() -> int:
var origin = GameManager.data_origin var origin = GameManager.data_origin
@@ -64,18 +65,18 @@ func download_from_origin() -> int:
if origin[-1] != "/": if origin[-1] != "/":
origin = origin + "/" 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]) await download_file(origin + "card/list", "user://download/%s/cards/list.json" % [uuid])
download_file(origin + "reaction/list", "user://download/%s/reactions/list.json" % [uuid]) await download_file(origin + "reaction/list", "user://download/%s/reactions/list.json" % [uuid])
download_file(origin + "matter/list", "user://download/%s/matters/list.json" % [uuid]) await 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 + "asset/list", "user://download/%s/assets/list.json" % [uuid])
download_defs("card", origin) await download_defs("card", origin)
download_defs("reaction", origin) await download_defs("reaction", origin)
download_defs("matter", origin) await download_defs("matter", origin)
download_assets(origin) await download_assets(origin)
return 0 return 0
+1 -1
View File
@@ -18,7 +18,7 @@ func _on_cancel_button_pressed() -> void:
func _on_download_button_pressed() -> void: func _on_download_button_pressed() -> void:
$Tips.text = "提示:已开始下载,请勿关闭设置页面" $Tips.text = "提示:已开始下载,请勿关闭设置页面"
var result: int = DownloadManager.download_from_origin() var result: int = await DownloadManager.download_from_origin()
if result == 1: if result == 1:
$Tips.text = "提示:下载失败。数据源路径错误" $Tips.text = "提示:下载失败。数据源路径错误"
return return