Files
ClickerGacha/Scenes/titleScreen.gd
2024-06-18 11:33:55 -04:00

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