From d6b02a9fb3ab63c8ec93942a830f82340bedd5de Mon Sep 17 00:00:00 2001 From: Ryan Reed Date: Fri, 28 Mar 2025 16:30:55 -0400 Subject: [PATCH] Adding DroppedBlockDataResource for saving dropped block positions --- .../dropped_block_data_resource.gd | 15 +++++++++++++++ .../dropped_block_data_resource.gd.uid | 1 + .../dropped_block_data_resource.tres | 11 +++++++++++ scenes/blocks/dropped_block.tscn | 7 ++++++- 4 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 resources/save_load_node_types/dropped_block_data_resource.gd create mode 100644 resources/save_load_node_types/dropped_block_data_resource.gd.uid create mode 100644 resources/save_load_node_types/dropped_block_data_resource.tres diff --git a/resources/save_load_node_types/dropped_block_data_resource.gd b/resources/save_load_node_types/dropped_block_data_resource.gd new file mode 100644 index 0000000..7de035c --- /dev/null +++ b/resources/save_load_node_types/dropped_block_data_resource.gd @@ -0,0 +1,15 @@ +class_name DroppedBlockDataResource +extends Node3DDataResource + + +@export var block_id: String = "001" + + +func _save_data(node: Node3D) -> void: + super._save_data(node) + + block_id = node.id + + +func _load_data(_window: Window) -> void: + EntityManager.drop_block.emit(block_id, transform.origin, Vector3.ZERO, 0.0) diff --git a/resources/save_load_node_types/dropped_block_data_resource.gd.uid b/resources/save_load_node_types/dropped_block_data_resource.gd.uid new file mode 100644 index 0000000..f79bb2f --- /dev/null +++ b/resources/save_load_node_types/dropped_block_data_resource.gd.uid @@ -0,0 +1 @@ +uid://ddk34r80lscu0 diff --git a/resources/save_load_node_types/dropped_block_data_resource.tres b/resources/save_load_node_types/dropped_block_data_resource.tres new file mode 100644 index 0000000..a46308c --- /dev/null +++ b/resources/save_load_node_types/dropped_block_data_resource.tres @@ -0,0 +1,11 @@ +[gd_resource type="Resource" script_class="DroppedBlockDataResource" load_steps=2 format=3 uid="uid://g26k1qtkabwf"] + +[ext_resource type="Script" uid="uid://ddk34r80lscu0" path="res://resources/save_load_node_types/dropped_block_data_resource.gd" id="1_ax78v"] + +[resource] +script = ExtResource("1_ax78v") +block_id = "001" +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +node_path = NodePath("") +parent_node_path = NodePath("") +metadata/_custom_type_script = "uid://ddk34r80lscu0" diff --git a/scenes/blocks/dropped_block.tscn b/scenes/blocks/dropped_block.tscn index 0473dae..a2fe66a 100644 --- a/scenes/blocks/dropped_block.tscn +++ b/scenes/blocks/dropped_block.tscn @@ -1,7 +1,9 @@ -[gd_scene load_steps=8 format=3 uid="uid://dq6alec7d35gc"] +[gd_scene load_steps=10 format=3 uid="uid://dq6alec7d35gc"] [ext_resource type="Script" uid="uid://d2uws50yjvp6w" path="res://scenes/blocks/dropped_block.gd" id="1_y8usf"] [ext_resource type="PackedScene" uid="uid://c8dch55d3txns" path="res://scenes/blocks/block_mesh.tscn" id="2_5kft2"] +[ext_resource type="PackedScene" uid="uid://baki8rbf1ti0r" path="res://addons/save_load_system/components/save_data_component.tscn" id="3_ix4xk"] +[ext_resource type="Resource" uid="uid://g26k1qtkabwf" path="res://resources/save_load_node_types/dropped_block_data_resource.tres" id="4_8xfh1"] [sub_resource type="Animation" id="Animation_kym7p"] length = 0.001 @@ -124,4 +126,7 @@ monitorable = false visible = false shape = SubResource("SphereShape3D_5kft2") +[node name="SaveDataComponent" parent="." instance=ExtResource("3_ix4xk")] +save_data_resource = ExtResource("4_8xfh1") + [connection signal="body_entered" from="PickupArea" to="." method="_on_pickup_area_body_entered"]