feat: 增加加载失败提示,更改本地数据源路径
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
extends Node
|
||||
|
||||
var uuid: String = "source"
|
||||
var uuid: String
|
||||
|
||||
func create_file(file_path: String) -> void:
|
||||
var base_dir = file_path.get_base_dir()
|
||||
@@ -20,14 +20,14 @@ func download_file(server_path: String, local_path: String) -> void:
|
||||
await http.request_completed
|
||||
|
||||
func get_uuid() -> void:
|
||||
var index_file = FileAccess.open("user://download/temp/index.json", FileAccess.READ)
|
||||
var index_file = FileAccess.open("user://download/sources/temp/index.json", FileAccess.READ)
|
||||
var index_text = index_file.get_as_text()
|
||||
var content = JSON.parse_string(index_text)
|
||||
index_file.close()
|
||||
uuid = content["uuid"]
|
||||
|
||||
func download_defs(type: String, origin: String) -> void:
|
||||
var list_file = FileAccess.open("user://download/%s/%ss/list.json" % [uuid, type], FileAccess.READ)
|
||||
var list_file = FileAccess.open("user://download/sources/%s/%ss/list.json" % [uuid, type], FileAccess.READ)
|
||||
var list_text = list_file.get_as_text()
|
||||
var list = JSON.parse_string(list_text)
|
||||
list_file.close()
|
||||
@@ -35,10 +35,10 @@ func download_defs(type: String, origin: String) -> void:
|
||||
return
|
||||
for k in list:
|
||||
var filename = list[k]
|
||||
await 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/sources/%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)
|
||||
var list_file = FileAccess.open("user://download/sources/%s/assets/list.json" % [uuid], FileAccess.READ)
|
||||
var list_text = list_file.get_as_text()
|
||||
var list = JSON.parse_string(list_text)
|
||||
list_file.close()
|
||||
@@ -46,10 +46,10 @@ func download_assets(origin: String) -> void:
|
||||
return
|
||||
for k in list["pics"]:
|
||||
var filename = list["pics"][k]
|
||||
await 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/sources/%s/assets/pics/%s" % [uuid, filename])
|
||||
for k in list["sounds"]:
|
||||
var filename = list["sounds"][k]
|
||||
await 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/sources/%s/assets/sounds/%s" % [uuid, filename])
|
||||
|
||||
func download_from_origin() -> int:
|
||||
var origin = GameManager.data_origin
|
||||
@@ -65,18 +65,18 @@ func download_from_origin() -> int:
|
||||
if origin[-1] != "/":
|
||||
origin = origin + "/"
|
||||
|
||||
await download_file(origin + "index", "user://download/temp/index.json")
|
||||
await download_file(origin + "index", "user://download/sources/temp/index.json")
|
||||
|
||||
get_uuid()
|
||||
|
||||
DirAccess.remove_absolute("user://download/temp/index.json")
|
||||
DirAccess.remove_absolute("user://download/temp/")
|
||||
DirAccess.remove_absolute("user://download/sources/temp/index.json")
|
||||
DirAccess.remove_absolute("user://download/sources/temp/")
|
||||
|
||||
await download_file(origin + "index", "user://download/%s/index.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])
|
||||
await download_file(origin + "index", "user://download/sources/%s/index.json" % [uuid])
|
||||
await download_file(origin + "card/list", "user://download/sources/%s/cards/list.json" % [uuid])
|
||||
await download_file(origin + "reaction/list", "user://download/sources/%s/reactions/list.json" % [uuid])
|
||||
await download_file(origin + "matter/list", "user://download/sources/%s/matters/list.json" % [uuid])
|
||||
await download_file(origin + "asset/list", "user://download/sources/%s/assets/list.json" % [uuid])
|
||||
|
||||
await download_defs("card", origin)
|
||||
await download_defs("reaction", origin)
|
||||
@@ -89,31 +89,31 @@ func download_from_origin() -> int:
|
||||
return 0
|
||||
|
||||
func load_resource():
|
||||
var card_file = FileAccess.open("user://download/%s/cards/list.json" % [uuid], FileAccess.READ)
|
||||
var card_file = FileAccess.open("user://download/sources/%s/cards/list.json" % [uuid], FileAccess.READ)
|
||||
GameManager.card_list = JSON.parse_string(card_file.get_as_text())
|
||||
card_file.close()
|
||||
|
||||
var reaction_file = FileAccess.open("user://download/%s/reactions/list.json" % [uuid], FileAccess.READ)
|
||||
var reaction_file = FileAccess.open("user://download/sources/%s/reactions/list.json" % [uuid], FileAccess.READ)
|
||||
GameManager.reaction_list = JSON.parse_string(reaction_file.get_as_text())
|
||||
reaction_file.close()
|
||||
|
||||
var matter_file = FileAccess.open("user://download/%s/matters/list.json" % [uuid], FileAccess.READ)
|
||||
var matter_file = FileAccess.open("user://download/sources/%s/matters/list.json" % [uuid], FileAccess.READ)
|
||||
GameManager.matter_list = JSON.parse_string(matter_file.get_as_text())
|
||||
matter_file.close()
|
||||
|
||||
var asset_file = FileAccess.open("user://download/%s/assets/list.json" % [uuid], FileAccess.READ)
|
||||
var asset_file = FileAccess.open("user://download/sources/%s/assets/list.json" % [uuid], FileAccess.READ)
|
||||
var asset_list = JSON.parse_string(asset_file.get_as_text())
|
||||
GameManager.pic_list = asset_list["pics"]
|
||||
GameManager.sound_list = asset_list["sounds"]
|
||||
asset_file.close()
|
||||
|
||||
func get_sources():
|
||||
var dir = DirAccess.open("user://download/")
|
||||
var dir = DirAccess.open("user://download/sources/")
|
||||
var subdirs: PackedStringArray = dir.get_directories()
|
||||
for subdir in subdirs:
|
||||
if subdir == "temp":
|
||||
continue
|
||||
var file = FileAccess.open("user://download/%s/index.json" % [subdir], FileAccess.READ)
|
||||
var file = FileAccess.open("user://download/sources/%s/index.json" % [subdir], FileAccess.READ)
|
||||
var text = file.get_as_text()
|
||||
var content = JSON.parse_string(text)
|
||||
file.close()
|
||||
|
||||
Reference in New Issue
Block a user