Browse Source

Allow for Node type resource saving

pull/20/head
Ryan Reed 1 month ago
parent
commit
82fe344c12
7 changed files with 24 additions and 6 deletions
  1. +2
    -2
      addons/save_load_system/autoloads/save_game_manager.gd
  2. +2
    -2
      addons/save_load_system/components/save_data_component.gd
  3. +1
    -1
      addons/save_load_system/resources/node_types/node3d_data_resource.gd
  4. +10
    -0
      addons/save_load_system/resources/node_types/node_data_resource.gd
  5. +1
    -0
      addons/save_load_system/resources/node_types/node_data_resource.gd.uid
  6. +7
    -0
      addons/save_load_system/resources/node_types/node_data_resource.tres
  7. +1
    -1
      addons/save_load_system/resources/save_game_data_resource.gd

+ 2
- 2
addons/save_load_system/autoloads/save_game_manager.gd View File

@ -130,8 +130,8 @@ func _generate_save_game_resource() -> SaveGameDataResource:
for node: Node in nodes: for node: Node in nodes:
if node is SaveDataComponent: if node is SaveDataComponent:
@warning_ignore("unsafe_method_access") @warning_ignore("unsafe_method_access")
var save_data_resource: Node3DDataResource = node._save_data()
var save_final_resource: Node3DDataResource = save_data_resource.duplicate()
var save_data_resource: NodeDataResource = node._save_data()
var save_final_resource: NodeDataResource = save_data_resource.duplicate()
_resource.save_data_nodes.append(save_final_resource) _resource.save_data_nodes.append(save_final_resource)
return _resource return _resource


+ 2
- 2
addons/save_load_system/components/save_data_component.gd View File

@ -5,9 +5,9 @@ class_name SaveDataComponent
extends Node extends Node
@export var save_data_resource: Node3DDataResource ## The resource describing the type of object being saved
@export var save_data_resource: Resource ## The resource describing the type of object being saved
@onready var parent_node: Node3D = get_parent()
@onready var parent_node: Node = get_parent()
func _ready() -> void: func _ready() -> void:


+ 1
- 1
addons/save_load_system/resources/node_types/node3d_data_resource.gd View File

@ -1,6 +1,6 @@
## The base resource for saving a specific Node ## The base resource for saving a specific Node
class_name Node3DDataResource class_name Node3DDataResource
extends Resource
extends NodeDataResource
@export var transform: Transform3D @export var transform: Transform3D


+ 10
- 0
addons/save_load_system/resources/node_types/node_data_resource.gd View File

@ -0,0 +1,10 @@
## The base resource for saving a specific Node
class_name NodeDataResource
extends Resource
func _save_data(node: Node3D) -> void:
pass
func _load_data(_window: Window) -> void:
pass

+ 1
- 0
addons/save_load_system/resources/node_types/node_data_resource.gd.uid View File

@ -0,0 +1 @@
uid://ku7pqlxdta2r

+ 7
- 0
addons/save_load_system/resources/node_types/node_data_resource.tres View File

@ -0,0 +1,7 @@
[gd_resource type="Resource" script_class="NodeDataResource" load_steps=2 format=3 uid="uid://btcyin8cer74n"]
[ext_resource type="Script" uid="uid://ku7pqlxdta2r" path="res://addons/save_load_system/resources/node_types/node_data_resource.gd" id="1_0d08a"]
[resource]
script = ExtResource("1_0d08a")
metadata/_custom_type_script = "uid://ku7pqlxdta2r"

+ 1
- 1
addons/save_load_system/resources/save_game_data_resource.gd View File

@ -5,7 +5,7 @@ extends Resource
@export var game_version: String = ProjectSettings.get_setting("application/config/version") @export var game_version: String = ProjectSettings.get_setting("application/config/version")
@export var save_data_nodes: Array[Node3DDataResource]
@export var save_data_nodes: Array[NodeDataResource]
@export var save_name: String @export var save_name: String
@export var save_date: String @export var save_date: String

Loading…
Cancel
Save