diff --git a/Scenes/FreeRoam/Generic/Generic12Stage.tscn b/Scenes/FreeRoam/Generic/Generic12Stage.tscn index f91d737..dec756c 100644 --- a/Scenes/FreeRoam/Generic/Generic12Stage.tscn +++ b/Scenes/FreeRoam/Generic/Generic12Stage.tscn @@ -473,3 +473,5 @@ script = ExtResource("7_o46fb") [node name="Wink" parent="." instance=ExtResource("24_tifgp")] transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 0.6, 3.4, 0.38) script = ExtResource("25_egg31") + +[node name="PropHandle" type="Node3D" parent="."] diff --git a/Scenes/FreeRoam/Generic/Generic1Stage.tscn b/Scenes/FreeRoam/Generic/Generic1Stage.tscn index 24905dd..49264eb 100644 --- a/Scenes/FreeRoam/Generic/Generic1Stage.tscn +++ b/Scenes/FreeRoam/Generic/Generic1Stage.tscn @@ -496,4 +496,6 @@ script = ExtResource("16_fdybi") transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 0, 3.4, 0.38) script = ExtResource("27_xpgff") +[node name="PropHandle" type="Node3D" parent="."] + [editable path="StageModel"] diff --git a/Scenes/FreeRoam/Generic/Generic2Stage.tscn b/Scenes/FreeRoam/Generic/Generic2Stage.tscn index 7e62027..cbf2338 100644 --- a/Scenes/FreeRoam/Generic/Generic2Stage.tscn +++ b/Scenes/FreeRoam/Generic/Generic2Stage.tscn @@ -475,4 +475,6 @@ script = ExtResource("5_j7jcv") transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 0, 3.4, 0.38) script = ExtResource("26_mu2fq") +[node name="PropHandle" type="Node3D" parent="."] + [editable path="StageModel"] diff --git a/Scenes/FreeRoam/Generic/GenericBalconyStage.tscn b/Scenes/FreeRoam/Generic/GenericBalconyStage.tscn index 1bc4c2f..f0964e6 100644 --- a/Scenes/FreeRoam/Generic/GenericBalconyStage.tscn +++ b/Scenes/FreeRoam/Generic/GenericBalconyStage.tscn @@ -384,3 +384,5 @@ shape = SubResource("ConcavePolygonShape3D_8i5le") [node name="CollisionShape3D2" type="CollisionShape3D" parent="StaticBody3D"] shape = SubResource("ConcavePolygonShape3D_kyqka") + +[node name="PropHandle" type="Node3D" parent="."] diff --git a/Scenes/FreeRoam/Generic/GenericCStage.tscn b/Scenes/FreeRoam/Generic/GenericCStage.tscn index c5875ce..9b87085 100644 --- a/Scenes/FreeRoam/Generic/GenericCStage.tscn +++ b/Scenes/FreeRoam/Generic/GenericCStage.tscn @@ -353,3 +353,5 @@ shape = SubResource("ConcavePolygonShape3D_oh3e3") [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] shape = SubResource("ConcavePolygonShape3D_m3ge5") + +[node name="PropHandle" type="Node3D" parent="."] diff --git a/Scenes/FreeRoam/Generic/GenericCyber3Stage.tscn b/Scenes/FreeRoam/Generic/GenericCyber3Stage.tscn index 3d9e65d..fb8e7e6 100644 --- a/Scenes/FreeRoam/Generic/GenericCyber3Stage.tscn +++ b/Scenes/FreeRoam/Generic/GenericCyber3Stage.tscn @@ -501,3 +501,5 @@ current_map = "Generic Cyberamic 3-Stage" [node name="Wink" parent="." instance=ExtResource("23_g0ptg")] transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 0, 3.4, 1.06) script = ExtResource("24_7g7ek") + +[node name="PropHandle" type="Node3D" parent="."] diff --git a/Scenes/FreeRoam/Generic/GenericMiniUnit1Stage.tscn b/Scenes/FreeRoam/Generic/GenericMiniUnit1Stage.tscn index f8a49bf..8ee85e9 100644 --- a/Scenes/FreeRoam/Generic/GenericMiniUnit1Stage.tscn +++ b/Scenes/FreeRoam/Generic/GenericMiniUnit1Stage.tscn @@ -262,6 +262,7 @@ visible = false visible = false [node name="1StageIllum-OrganLightsMiddle" parent="Organ/Legs Middle" instance=ExtResource("11_lwqme")] +visible = false [node name="Legs Outer" type="Node3D" parent="Organ"] visible = false @@ -365,3 +366,5 @@ shape = SubResource("BoxShape3D_wl61o") [node name="Player" parent="." instance=ExtResource("21_fte8p")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 3) current_map = "Generic Mini Unit 1-Stage" + +[node name="PropHandle" type="Node3D" parent="."] diff --git a/Scenes/FreeRoam/Generic/GenericProtoRoadStage.tscn b/Scenes/FreeRoam/Generic/GenericProtoRoadStage.tscn index 91e0c6a..b13bb3f 100644 --- a/Scenes/FreeRoam/Generic/GenericProtoRoadStage.tscn +++ b/Scenes/FreeRoam/Generic/GenericProtoRoadStage.tscn @@ -349,3 +349,5 @@ shape = SubResource("ConcavePolygonShape3D_8h3a3") [node name="ProtoRoadStage" parent="." instance=ExtResource("11_8h3a3")] transform = Transform3D(0.6, 0, 0, 0, 0.6, 0, 0, 0, 0.6, 0, 0, 0) + +[node name="PropHandle" type="Node3D" parent="."] diff --git a/Scenes/FreeRoam/Generic/GenericRoadStage.tscn b/Scenes/FreeRoam/Generic/GenericRoadStage.tscn index 2baa6f3..7dfbfe9 100644 --- a/Scenes/FreeRoam/Generic/GenericRoadStage.tscn +++ b/Scenes/FreeRoam/Generic/GenericRoadStage.tscn @@ -460,3 +460,5 @@ shape = SubResource("ConcavePolygonShape3D_d5ff6") [node name="Wink" parent="." instance=ExtResource("21_d5ff6")] transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 0, 3.4, 1.7) script = ExtResource("22_v2g50") + +[node name="PropHandle" type="Node3D" parent="."] diff --git a/Scenes/FreeRoam/Generic/GenericRockerStage.tscn b/Scenes/FreeRoam/Generic/GenericRockerStage.tscn index 6109dd7..33957ce 100644 --- a/Scenes/FreeRoam/Generic/GenericRockerStage.tscn +++ b/Scenes/FreeRoam/Generic/GenericRockerStage.tscn @@ -382,3 +382,5 @@ current_map = "Generic Rocker Stage" [node name="CollisionShape3D2" type="CollisionShape3D" parent="CollideMap"] shape = SubResource("ConcavePolygonShape3D_81kcq") + +[node name="PropHandle" type="Node3D" parent="."] diff --git a/Scenes/FreeRoam/Generic/GenericStatenIsland1Stage.tscn b/Scenes/FreeRoam/Generic/GenericStatenIsland1Stage.tscn index ea878fa..9643d57 100644 --- a/Scenes/FreeRoam/Generic/GenericStatenIsland1Stage.tscn +++ b/Scenes/FreeRoam/Generic/GenericStatenIsland1Stage.tscn @@ -508,3 +508,5 @@ shape = SubResource("BoxShape3D_367tx") [node name="Wink" parent="." instance=ExtResource("23_w2kgj")] transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 0, 3.4, 0.36) script = ExtResource("24_8h8ie") + +[node name="PropHandle" type="Node3D" parent="."] diff --git a/Scenes/FreeRoam/Generic/GenericTurntable1Stage.tscn b/Scenes/FreeRoam/Generic/GenericTurntable1Stage.tscn index 6bcbe93..29b6ae4 100644 --- a/Scenes/FreeRoam/Generic/GenericTurntable1Stage.tscn +++ b/Scenes/FreeRoam/Generic/GenericTurntable1Stage.tscn @@ -524,5 +524,7 @@ bot_path = "Turntable/Chuck" transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 0, 3.4, 0.38) script = ExtResource("31_35rr1") +[node name="PropHandle" type="Node3D" parent="."] + [connection signal="visibility_changed" from="Special/CEC Rope Light" to="Special/CEC Rope Light" method="_on_visibility_changed"] [connection signal="visibility_changed" from="Special/CEC Sign" to="Special/CEC Sign" method="_on_visibility_changed"] diff --git a/Scenes/FreeRoam/KnoxvilleTN8225KingstonPike2010s.tscn b/Scenes/FreeRoam/KnoxvilleTN8225KingstonPike2010s.tscn index 83b742e..5219b1e 100644 --- a/Scenes/FreeRoam/KnoxvilleTN8225KingstonPike2010s.tscn +++ b/Scenes/FreeRoam/KnoxvilleTN8225KingstonPike2010s.tscn @@ -524,3 +524,5 @@ shadow_enabled = true [node name="Wink" parent="." instance=ExtResource("26_wi6ny")] transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 0, 3.4, 0.38) script = ExtResource("27_mred3") + +[node name="PropHandle" type="Node3D" parent="."] diff --git a/Scenes/GUI/InGameMenu.tscn b/Scenes/GUI/InGameMenu.tscn index 9924544..c338bce 100644 --- a/Scenes/GUI/InGameMenu.tscn +++ b/Scenes/GUI/InGameMenu.tscn @@ -399,6 +399,19 @@ grow_horizontal = 2 grow_vertical = 2 text = "Spawn" +[node name="ClearButton" type="Button" parent="SpawnMenu/DialogPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_top = 1.0 +anchor_bottom = 1.0 +offset_left = 4.0 +offset_top = -52.0 +offset_right = 204.0 +offset_bottom = -4.0 +grow_horizontal = 2 +grow_vertical = 2 +text = "Clear all spawned props" + [node name="ItemList" type="ItemList" parent="SpawnMenu/DialogPanel"] layout_mode = 1 anchors_preset = -1 @@ -595,6 +608,7 @@ filters = PackedStringArray("*.ust") [connection signal="value_changed" from="CosmeticsScreen/DialogPanel/VScrollBar" to="." method="_on_cosmetics_v_scroll_bar_value_changed"] [connection signal="pressed" from="SpawnMenu/InputEater" to="." method="_on_input_eater_pressed"] [connection signal="pressed" from="SpawnMenu/DialogPanel/SpawnButton" to="." method="_on_spawn_button_pressed"] +[connection signal="pressed" from="SpawnMenu/DialogPanel/ClearButton" to="." method="_on_clear_button_pressed"] [connection signal="pressed" from="LoadShowScreen/InputEater" to="." method="_on_input_eater_pressed"] [connection signal="pressed" from="LoadShowScreen/DialogPanel/InBrowseButton" to="." method="_on_in_browse_button_pressed"] [connection signal="pressed" from="LoadShowScreen/DialogPanel/CancelButton" to="." method="_on_cancel_button_pressed"] diff --git a/Scripts/InGameMenu.gd b/Scripts/InGameMenu.gd index b01c0aa..c255686 100644 --- a/Scripts/InGameMenu.gd +++ b/Scripts/InGameMenu.gd @@ -255,9 +255,14 @@ func _on_spawn_button_pressed() -> void: var spawningProp = load(Props.SpawnableProps[selectedIndex]["path"]).instantiate() var vector = get_node("../Camera/SpawnPosition").global_position spawningProp.position = vector - get_tree().root.add_child(spawningProp) + get_node("../../PropHandle").add_child(spawningProp) func _on_spawn_menu_button_pressed() -> void: $BG.visible = false $SpawnMenu.visible = true + + +func _on_clear_button_pressed() -> void: + for prop in get_node("../../PropHandle").get_children(): + prop.queue_free()