95 lines
3.5 KiB
GDScript
95 lines
3.5 KiB
GDScript
extends Control
|
|
|
|
var files_to_copy = [
|
|
"MemberDatabase/memberData.json",
|
|
"Boss/bossData.json",
|
|
"Save/saveData.json"
|
|
]
|
|
|
|
var user_directory = OS.get_user_data_dir()
|
|
|
|
var save_data = {}
|
|
|
|
func copy_file_if_not_exists(file_name: String):
|
|
var user_file_path = "user://" + file_name
|
|
if not FileAccess.file_exists(user_file_path):
|
|
var res_file_path = "res://" + file_name
|
|
if FileAccess.file_exists(res_file_path):
|
|
var file = FileAccess.open(res_file_path, FileAccess.READ)
|
|
if file:
|
|
var data = file.get_as_text()
|
|
file.close()
|
|
|
|
# Write to user:// directory
|
|
var user_file = FileAccess.open(user_file_path, FileAccess.WRITE)
|
|
if user_file:
|
|
user_file.store_string(data)
|
|
user_file.close()
|
|
print("Copied ", file_name, " to user:// directory.")
|
|
else:
|
|
print("Failed to open destination file: ", user_file_path)
|
|
user_file.get_open_error()
|
|
else:
|
|
print("Failed to open source file: ", res_file_path)
|
|
else:
|
|
print("Source file ", res_file_path, " not found.")
|
|
else:
|
|
print("File ", user_file_path, " already exists.")
|
|
|
|
func load_saved_game():
|
|
#If using json
|
|
var file = FileAccess.open("user://Save/saveData.json", FileAccess.READ)
|
|
#var file = FileAccess.open("user://memberData.json", FileAccess.READ)
|
|
if file:
|
|
var json_text = file.get_as_text()
|
|
#print (json_text)
|
|
file.close()
|
|
|
|
var json = JSON.new()
|
|
var json_result = json.parse(json_text)
|
|
#print (json_result)
|
|
|
|
if json_result == OK:
|
|
save_data = json.get_data()
|
|
print("Save data loaded successfully.")
|
|
#print(character_data)
|
|
else:
|
|
print("Failed to parse JSON: ", json_result.error_string)
|
|
else:
|
|
print("Save data file not found.")
|
|
#Sets the global variables to what was saved
|
|
Global.globalDamage = save_data["totalDamage"]
|
|
Global.globalDamagePerClick = save_data["damagePerClick"]
|
|
Global.globalDamagePerSec = save_data["damagePerSec"]
|
|
Global.globalDamageMultiplier = save_data["damageMultiplier"]
|
|
Global.damagePerSecMember1 = save_data["damagePerSecMember1"]
|
|
Global.damagePerClickMember1 = save_data["damagePerClickMember1"]
|
|
Global.damageMultiplierMember1 = save_data["damageMultiplierMember1"]
|
|
Global.texture_member1 = save_data["textureMember1"]
|
|
Global.damagePerSecMember2 = save_data["damagePerSecMember2"]
|
|
Global.damagePerClickMember2 = save_data["damagePerClickMember2"]
|
|
Global.damageMultiplierMember2 = save_data["damageMultiplierMember2"]
|
|
Global.texture_member2 = save_data["textureMember2"]
|
|
Global.damagePerSecMember3 = save_data["damagePerSecMember3"]
|
|
Global.damagePerClickMember3 = save_data["damagePerClickMember3"]
|
|
Global.damageMultiplierMember3 = save_data["damageMultiplierMember3"]
|
|
Global.texture_member3 = save_data["textureMember3"]
|
|
Global.damagePerSecMember4 = save_data["damagePerSecMember4"]
|
|
Global.damagePerClickMember4 = save_data["damagePerClickMember4"]
|
|
Global.damageMultiplierMember4 = save_data["damageMultiplierMember4"]
|
|
Global.texture_member4 = save_data["textureMember4"]
|
|
Global.damagePerSecMember5 = save_data["damagePerSecMember5"]
|
|
Global.damagePerClickMember5 = save_data["damagePerClickMember5"]
|
|
Global.damageMultiplierMember5 = save_data["damageMultiplierMember5"]
|
|
Global.texture_member5 = save_data["textureMember5"]
|
|
|
|
# Called when the node enters the scene tree for the first time.
|
|
func _ready():
|
|
for file_name in files_to_copy:
|
|
copy_file_if_not_exists(file_name) # Replace with function body.
|
|
load_saved_game()
|
|
|
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
func _process(delta):
|
|
pass
|