Browse Source

Moving DayNightCycleComponent to Node and saving time when performing a save

pull/20/head
Ryan Reed 1 month ago
parent
commit
f17171e41a
5 changed files with 39 additions and 3 deletions
  1. +19
    -0
      resources/save_load_node_types/day_night_cycle_data_resource.gd
  2. +1
    -0
      resources/save_load_node_types/day_night_cycle_data_resource.gd.uid
  3. +9
    -0
      resources/save_load_node_types/day_night_cycle_data_resource.tres
  4. +3
    -1
      scenes/world/day_night_cycle_component.gd
  5. +7
    -2
      scenes/world/day_night_cycle_component.tscn

+ 19
- 0
resources/save_load_node_types/day_night_cycle_data_resource.gd View File

@ -0,0 +1,19 @@
## The base resource for saving a specific Node
class_name DayNightCycleDataResource
extends NodeDataResource
@export var time: float ## Time from DayNightCycleComponent.time
@export var node_path: NodePath
func _save_data(node: Node) -> void:
node_path = node.get_path()
time = node.time
func _load_data(window: Window) -> void:
var scene_node: DayNightCycleComponent = window.get_node_or_null(node_path)
if scene_node == null:
printerr("Couldn't find DayNightCycleDataResource.node_path")
return
scene_node.set_time.emit(time)

+ 1
- 0
resources/save_load_node_types/day_night_cycle_data_resource.gd.uid View File

@ -0,0 +1 @@
uid://7gwknxsl1fgd

+ 9
- 0
resources/save_load_node_types/day_night_cycle_data_resource.tres View File

@ -0,0 +1,9 @@
[gd_resource type="Resource" script_class="DayNightCycleDataResource" load_steps=2 format=3 uid="uid://ccv6fi1lk8ofm"]
[ext_resource type="Script" uid="uid://7gwknxsl1fgd" path="res://resources/save_load_node_types/day_night_cycle_data_resource.gd" id="1_jnnxf"]
[resource]
script = ExtResource("1_jnnxf")
time = 0.0
node_path = NodePath("")
metadata/_custom_type_script = "uid://7gwknxsl1fgd"

+ 3
- 1
scenes/world/day_night_cycle_component.gd View File

@ -1,4 +1,5 @@
extends Node3D
class_name DayNightCycleComponent
extends Node
signal end_of_day
@ -66,6 +67,7 @@ func _ready() -> void:
resume_time.connect(_on_resume_time)
set_day_length.connect(_on_set_day_length)
set_rate_of_time.connect(_on_set_rate_of_time)
set_time.connect(_on_set_time)
func update_tick_rate(new_rate: float = 1.0) -> void:


+ 7
- 2
scenes/world/day_night_cycle_component.tscn View File

@ -1,4 +1,4 @@
[gd_scene load_steps=11 format=3 uid="uid://58cvwtpnkq8r"]
[gd_scene load_steps=13 format=3 uid="uid://58cvwtpnkq8r"]
[ext_resource type="Script" uid="uid://odh7sbmaku32" path="res://scenes/world/day_night_cycle_component.gd" id="1_xc0aj"]
[ext_resource type="Gradient" uid="uid://bgsedjexjylfr" path="res://resources/world/moon_color_gradient.tres" id="2_65gyo"]
@ -7,6 +7,8 @@
[ext_resource type="Curve" uid="uid://ds0dqy41plskw" path="res://resources/world/sun_intensity_curve.tres" id="5_wylv2"]
[ext_resource type="Gradient" uid="uid://d0cpq2rok3jsi" path="res://resources/world/sky_top_color_gradient.tres" id="6_ckt1h"]
[ext_resource type="Gradient" uid="uid://dvpnjt66dtk46" path="res://resources/world/sky_horizon_color_gradient.tres" id="7_03v7x"]
[ext_resource type="PackedScene" uid="uid://baki8rbf1ti0r" path="res://addons/save_load_system/components/save_data_component.tscn" id="8_65gyo"]
[ext_resource type="Resource" uid="uid://ccv6fi1lk8ofm" path="res://resources/save_load_node_types/day_night_cycle_data_resource.tres" id="9_bdvt6"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_4rhad"]
@ -19,7 +21,7 @@ sky = SubResource("Sky_dphjl")
tonemap_mode = 2
glow_enabled = true
[node name="DayNightCycleComponent" type="Node3D" node_paths=PackedStringArray("environment", "sun", "moon")]
[node name="DayNightCycleComponent" type="Node" node_paths=PackedStringArray("environment", "sun", "moon")]
script = ExtResource("1_xc0aj")
moon_color = ExtResource("2_65gyo")
moon_intensity = ExtResource("3_bdvt6")
@ -42,3 +44,6 @@ shadow_enabled = true
[node name="Moon" type="DirectionalLight3D" parent="."]
shadow_enabled = true
sky_mode = 1
[node name="SaveDataComponent" parent="." instance=ExtResource("8_65gyo")]
save_data_resource = ExtResource("9_bdvt6")

Loading…
Cancel
Save