feat: 初步完成兼容uuid的下载功能(有bug,下载不成功)
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
extends Node
|
extends Node
|
||||||
|
|
||||||
|
var uuid: String
|
||||||
|
|
||||||
func create_file(file_path: String) -> void:
|
func create_file(file_path: String) -> void:
|
||||||
var base_dir = file_path.get_base_dir()
|
var base_dir = file_path.get_base_dir()
|
||||||
if !DirAccess.dir_exists_absolute(base_dir):
|
if !DirAccess.dir_exists_absolute(base_dir):
|
||||||
@@ -16,8 +18,15 @@ func download_file(server_path: String, local_path: String) -> void:
|
|||||||
http.download_file = file_path
|
http.download_file = file_path
|
||||||
http.request(server_path)
|
http.request(server_path)
|
||||||
|
|
||||||
|
func get_uuid() -> void:
|
||||||
|
var index_file = FileAccess.open("user://download/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:
|
func download_defs(type: String, origin: String) -> void:
|
||||||
var list_file = FileAccess.open("user://download/source/%ss/list.json" % [type], FileAccess.READ)
|
var list_file = FileAccess.open("user://download/%s/%ss/list.json" % [uuid, type], FileAccess.READ)
|
||||||
var list_text = list_file.get_as_text()
|
var list_text = list_file.get_as_text()
|
||||||
var list = JSON.parse_string(list_text)
|
var list = JSON.parse_string(list_text)
|
||||||
list_file.close()
|
list_file.close()
|
||||||
@@ -25,10 +34,10 @@ 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/source/%ss/%s.json" % [type, filename])
|
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/source/assets/list.json", FileAccess.READ)
|
var list_file = FileAccess.open("user://download/%s/assets/list.json" % [uuid], FileAccess.READ)
|
||||||
var list_text = list_file.get_as_text()
|
var list_text = list_file.get_as_text()
|
||||||
var list = JSON.parse_string(list_text)
|
var list = JSON.parse_string(list_text)
|
||||||
list_file.close()
|
list_file.close()
|
||||||
@@ -36,10 +45,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/source/assets/pics/%s" % [filename])
|
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/source/assets/sounds/%s" % [filename])
|
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
|
||||||
@@ -54,11 +63,15 @@ func download_from_origin() -> int:
|
|||||||
|
|
||||||
if origin[-1] != "/":
|
if origin[-1] != "/":
|
||||||
origin = origin + "/"
|
origin = origin + "/"
|
||||||
|
|
||||||
|
#download_file(origin + "index", "user://download/temp/index.json")
|
||||||
|
|
||||||
download_file(origin + "card/list", "user://download/source/cards/list.json")
|
# get_uuid()
|
||||||
download_file(origin + "reaction/list", "user://download/source/reactions/list.json")
|
|
||||||
download_file(origin + "matter/list", "user://download/source/matters/list.json")
|
download_file(origin + "card/list", "user://download/%s/cards/list.json" % [uuid])
|
||||||
download_file(origin + "asset/list", "user://download/source/assets/list.json")
|
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])
|
||||||
|
|
||||||
download_defs("card", origin)
|
download_defs("card", origin)
|
||||||
download_defs("reaction", origin)
|
download_defs("reaction", origin)
|
||||||
@@ -69,19 +82,19 @@ func download_from_origin() -> int:
|
|||||||
return 0
|
return 0
|
||||||
|
|
||||||
func load_resource():
|
func load_resource():
|
||||||
var card_file = FileAccess.open("user://download/source/cards/list.json", FileAccess.READ)
|
var card_file = FileAccess.open("user://download/%s/cards/list.json" % [uuid], FileAccess.READ)
|
||||||
GameManager.card_list = JSON.parse_string(card_file.get_as_text())
|
GameManager.card_list = JSON.parse_string(card_file.get_as_text())
|
||||||
card_file.close()
|
card_file.close()
|
||||||
|
|
||||||
var reaction_file = FileAccess.open("user://download/source/reactions/list.json", FileAccess.READ)
|
var reaction_file = FileAccess.open("user://download/%s/reactions/list.json" % [uuid], FileAccess.READ)
|
||||||
GameManager.reaction_list = JSON.parse_string(reaction_file.get_as_text())
|
GameManager.reaction_list = JSON.parse_string(reaction_file.get_as_text())
|
||||||
reaction_file.close()
|
reaction_file.close()
|
||||||
|
|
||||||
var matter_file = FileAccess.open("user://download/source/matters/list.json", FileAccess.READ)
|
var matter_file = FileAccess.open("user://download/%s/matters/list.json" % [uuid], FileAccess.READ)
|
||||||
GameManager.matter_list = JSON.parse_string(matter_file.get_as_text())
|
GameManager.matter_list = JSON.parse_string(matter_file.get_as_text())
|
||||||
matter_file.close()
|
matter_file.close()
|
||||||
|
|
||||||
var asset_file = FileAccess.open("user://download/source/assets/list.json", FileAccess.READ)
|
var asset_file = FileAccess.open("user://download/%s/assets/list.json" % [uuid], FileAccess.READ)
|
||||||
var asset_list = JSON.parse_string(asset_file.get_as_text())
|
var asset_list = JSON.parse_string(asset_file.get_as_text())
|
||||||
GameManager.pic_list = asset_list["pics"]
|
GameManager.pic_list = asset_list["pics"]
|
||||||
GameManager.sound_list = asset_list["sounds"]
|
GameManager.sound_list = asset_list["sounds"]
|
||||||
|
|||||||
@@ -9,4 +9,4 @@ func set_texture(pic: String) -> void:
|
|||||||
|
|
||||||
func set_card(cname: String) -> void:
|
func set_card(cname: String) -> void:
|
||||||
card_name = cname
|
card_name = cname
|
||||||
# set_texture(GameManager.pic_list[card_name])
|
set_texture(GameManager.pic_list[card_name])
|
||||||
Reference in New Issue
Block a user