class_name save_Load_Manager
extends Control
const save_Path : String = "user://Savedata.res"
var fm = folder_Manager.new()
# Called when the node enters the scene tree for the first time.
func _ready():
verify_save_dir(save_Path)
func verify_save_dir(path:String):
var dir = DirAccess.make_dir_absolute(path)
if(dir == null):
print("null")
func _on_button_pressed():
var a = FolderObject.new("hej", Button.new())
fm.add_Folder(a)
ResourceSaver.save(fm, save_Path)
func _on_button_2_pressed():
fm =ResourceLoader.load(save_Path).duplicate(true)
print(fm)# Replace with function body.
extends Resource
class_name FolderObject
@export var Cards = @export var textName : String
var button
func _init(name : String, b : Button):
textName = name
button = b
You are making it a directory, you cannot save a file over a directory. remove this verify_save_dir function.
You can check the error messages you may recieve too
func _on_button_pressed():
var a = FolderObject.new("hej", Button.new())
fm.add_Folder(a)
var err := ResourceSaver.save(fm, save_Path)
if err != OK:
push_warning("Failed to save: %s" % error_string(err))
I did your changes and got: Can’t open file, couldn’t unfortunatly search my way as to why it can’t open it.
i did try the other way but in the load function on the "print(folderMana…) i get an error where the object is “encoded” so no luck there either, Thanks for your time:
func loadSave():
var save_file = FileAccess.open("user://savegame.tres", FileAccess.Read)
var err := save_file.get_error()
if(err == OK):
folderManager = save_file.get_var()
save_file.close()
print(folderManager.folders.size())
else: print(error_string(err) + "H")
func save():
var save_file = FileAccess.open("user://savegame.tres", FileAccess.WRITE)
var err := save_file.get_error()
if(err != OK):
print(error_string(err))
else:
var a = FolderObject.new("hej", Button.new())
folderManager.add_Folder(a)
save_file.store_var(folderManager)
save_file.close()
folderManager = null
I fixed it by manually adding a “save_file” in the appdata
func _on_button_pressed():
var a = FolderObject.new("hej", Button.new())
fm.add_Folder(a)
fm.add_Folder(a)
fm.add_Folder(a)
print(fm.folders.size())
var err := ResourceSaver.save(fm, save_Path)
fm = null
if err != OK:
print(error_string(err))
func _on_button_2_pressed():
fm = ResourceLoader.load(save_Path)
print(fm.folders.size())# Replace with function body.