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

124 lines
4.2 KiB
GDScript

extends Timer
var save_data = {}
func saveGame():
#var save_game = FileAccess.open("user://Save/savegame.save", FileAccess.WRITE)
#var save_nodes = get_tree().get_nodes_in_group("Persist")
#for node in save_nodes:
#if node.scene_file_path.is_empty():
#print("persistent node '%s' is not an instanced scene, skipped" % node.name)
#continue
#
## Check the node has a save function.
#if !node.has_method("save"):
#print("persistent node '%s' is missing a save() function, skipped" % node.name)
#continue
#
## Call the node's save function.
#var node_data = node.call("save")
#
## JSON provides a static method to serialized JSON string.
#var json_string = JSON.stringify(node_data)
#
## Store the save dictionary as a new line in the save file.
#save_game.store_line(json_string)
#func save():
#var save_dict = {
#"filename" : get_scene_file_path(),
#"parent" : get_parent().get_path(),
#"damagePerClick" : Global.globalDamagePerClick,
#"damagePerSec" : Global.globalDamagePerSec,
#"damageMultiplier" : Global.globalDamageMultiplier,
#"totalDamage" : Global.globalDamage
#}
var file_path = "user://Save/saveData.json"
var file = FileAccess.open(file_path, FileAccess.WRITE)
if file:
var json_text = JSON.stringify(save_data)
file.store_string(json_text)
file.close()
print("Game Data Saved")
else:
print("Failed to open file: ", file_path)
func load_save_data():
#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.")
func _ready():
# Initialize data or load from file if necessary
#$saveTimer.connect("timeout", _on_Timer_timeout)
connect("timeout", _on_Timer_timeout)
#var current_scene = get_tree().current_scene
#if current_scene:
## Verify the saveTimer node exists in the current scene
#var timer_node = current_scene.get_node("saveTimer") # Adjust the path as necessary
#if timer_node:
#print("Timer node found: ", timer_node)
#timer_node.connect("timeout", _on_Timer_timeout)
#timer_node.start()
#else:
#print("saveTimer node not found")
#else:
#print("Current scene not found")
func _on_Timer_timeout():
load_save_data()
save_data["damagePerClick"] = Global.globalDamagePerClick
save_data["damagePerSec"] = Global.globalDamagePerSec
save_data["damageMultiplier"] = Global.globalDamageMultiplier
save_data["totalDamage"] = Global.globalDamage
save_data["damagePerSecMember1"] = Global.damagePerSecMember1
save_data["damagePerClickMember1"] = Global.damagePerClickMember1
save_data["damageMultiplierMember1"] = Global.damageMultiplierMember1
if Global.texture_member1:
save_data["textureMember1"] = Global.texture_member1
save_data["damagePerSecMember2"] = Global.damagePerSecMember2
save_data["damagePerClickMember2"] = Global.damagePerClickMember2
save_data["damageMultiplierMember2"] = Global.damageMultiplierMember2
if Global.texture_member2:
save_data["textureMember2"] = Global.texture_member2
save_data["damagePerSecMember3"] = Global.damagePerSecMember3
save_data["damagePerClickMember3"] = Global.damagePerClickMember3
save_data["damageMultiplierMember3"] = Global.damageMultiplierMember3
if Global.texture_member3:
save_data["textureMember3"] = Global.texture_member3
save_data["damagePerSecMember4"] = Global.damagePerSecMember4
save_data["damagePerClickMember4"] = Global.damagePerClickMember4
save_data["damageMultiplierMember4"] = Global.damageMultiplierMember4
if Global.texture_member4:
save_data["textureMember4"] = Global.texture_member4
save_data["damagePerSecMember5"] = Global.damagePerSecMember5
save_data["damagePerClickMember5"] = Global.damagePerClickMember5
save_data["damageMultiplierMember5"] = Global.damageMultiplierMember5
if Global.texture_member5:
save_data["textureMember5"] = Global.texture_member5
saveGame()
func _process(delta):
pass