From 32b9efbd925370f2250d9acb6e6f2ee21839dce4 Mon Sep 17 00:00:00 2001 From: derek Date: Thu, 3 Apr 2025 16:59:46 -0500 Subject: [PATCH] scene changers should be clearing all spawned objects on scene exit --- scenes/highwire.tscn | 5 +---- scripts/room_manager.gd | 1 + scripts/scene_changer.gd | 4 ++++ 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/scenes/highwire.tscn b/scenes/highwire.tscn index f3aded1..d97ad02 100644 --- a/scenes/highwire.tscn +++ b/scenes/highwire.tscn @@ -1,6 +1,5 @@ -[gd_scene load_steps=22 format=3 uid="uid://uo43j7bomkf3"] +[gd_scene load_steps=21 format=3 uid="uid://uo43j7bomkf3"] -[ext_resource type="Script" uid="uid://b81yg4r8e5ecj" path="res://scripts/subscene.gd" id="1_ie2kr"] [ext_resource type="PackedScene" uid="uid://cwy8iv8nlwqrc" path="res://assets/realtime_day_night_cycle.tscn" id="3_uc3ig"] [ext_resource type="Script" uid="uid://12l74jckdnpl" path="res://scripts/room_manager.gd" id="4_iqtg8"] [ext_resource type="PackedScene" uid="uid://djr7vnr1hcx82" path="res://assets/spider2.tscn" id="5_vb31s"] @@ -30,8 +29,6 @@ albedo_color = Color(0.300579, 0.462784, 0.249767, 1) size = Vector3(722.834, 289.347, 420.508) [node name="Highwire" type="Node3D"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0566635, 0.403625, 0.0430908) -script = ExtResource("1_ie2kr") [node name="Realtime Day Night Cycle" parent="." instance=ExtResource("3_uc3ig")] transform = Transform3D(0.510503, -0.00501647, 0.859861, 0.00982605, 0.999952, 1.08313e-09, -0.85982, 0.00844904, 0.510527, -41.021, 0, 40.533) diff --git a/scripts/room_manager.gd b/scripts/room_manager.gd index 19a0e46..9ec374a 100644 --- a/scripts/room_manager.gd +++ b/scripts/room_manager.gd @@ -19,6 +19,7 @@ var rot_amount : float func _ready(): SignalBus.enemy_killed.connect(enemy_in_room_killed) SignalBus.game_loaded.connect(assign_elements) + assign_elements() # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): diff --git a/scripts/scene_changer.gd b/scripts/scene_changer.gd index 6d15f41..f50e2d1 100644 --- a/scripts/scene_changer.gd +++ b/scripts/scene_changer.gd @@ -27,6 +27,10 @@ func _on_body_entered(body: Node3D) -> void: for i in spawned_stuff: i.queue_free() +func clear_spawned_objects(): + for i in get_tree().current_scene: + if i.is_in_group("spawned"): + i.queue_free() func _on_start_activation_timeout() -> void: active = true