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