extends Node class_name GameSystems func serialize() -> Dictionary: var systems := {} for child in get_children(): systems[child.name] = { "script": child.script.resource_path, "data": child.serialize() } return systems func deserialize(data: Dictionary) -> void: for system_name in data: var system_data := data[system_name] as Dictionary var system_node = load(system_data.script).new() system_node.name = system_name add_child(system_node, true) system_node.deserialize(system_data.data)