From dec413a269fa624b869dbed9efcf8f3ced91561c Mon Sep 17 00:00:00 2001 From: Nikolai Fesenko <152747946+NikolaiFesenko-code@users.noreply.github.com> Date: Sun, 17 Aug 2025 13:16:21 +0200 Subject: [PATCH] outline update --- Scenes/Prefabs/Pot.tscn | 8 ++++---- Scenes/Prefabs/cart.tscn | 12 +++++++++--- Scripts/build_object.gd | 3 ++- Scripts/building_area.gd | 8 +++++--- Scripts/cart.gd | 10 ++++++++-- Scripts/global_script.gd | 2 +- 6 files changed, 29 insertions(+), 14 deletions(-) diff --git a/Scenes/Prefabs/Pot.tscn b/Scenes/Prefabs/Pot.tscn index fe37ddb..1e3b1ae 100644 --- a/Scenes/Prefabs/Pot.tscn +++ b/Scenes/Prefabs/Pot.tscn @@ -18,7 +18,7 @@ shader = ExtResource("2_ocdig") shader_parameter/color = Vector3(0, 0, 0) [sub_resource type="BoxShape3D" id="BoxShape3D_gtq0i"] -size = Vector3(3.78918, 3.11292, 1.9624) +size = Vector3(3.78918, 4.23603, 2.59656) [sub_resource type="ShaderMaterial" id="ShaderMaterial_r71lq"] render_priority = 0 @@ -58,19 +58,19 @@ next_pass = SubResource("ShaderMaterial_dn6sd") albedo_texture = ExtResource("7_e7ek7") [node name="Pot" type="Node3D" node_paths=PackedStringArray("meshInstance")] -transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0) script = ExtResource("1_c5d30") meshInstance = NodePath("Pot") preview_shader = SubResource("ShaderMaterial_vv7mx") [node name="StaticBody3D" type="StaticBody3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2.14194, 0) [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0180054, -1.83221, -0.481201) +transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0.916585, 0.0207213) shape = SubResource("BoxShape3D_gtq0i") [node name="Pot" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -3.41814, 0) +transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, -2.14194, 0) mesh = ExtResource("1_ps8qt") surface_material_override/0 = SubResource("StandardMaterial3D_dn6sd") surface_material_override/1 = SubResource("StandardMaterial3D_uhv8u") diff --git a/Scenes/Prefabs/cart.tscn b/Scenes/Prefabs/cart.tscn index 54450cf..76d192e 100644 --- a/Scenes/Prefabs/cart.tscn +++ b/Scenes/Prefabs/cart.tscn @@ -8,7 +8,7 @@ [ext_resource type="Shader" uid="uid://bfv6ckihralab" path="res://Shaders/build_transparent.gdshader" id="6_ru0md"] [sub_resource type="NavigationMesh" id="NavigationMesh_ru0md"] -vertices = PackedVector3Array(-8.52442, 3.10583, -1.86593, -8.52442, 3.10583, -0.615929, -3.27442, 3.10583, -0.615929, -3.27442, 3.10583, -1.86593, -2.27442, 0.105834, 0.884071, -9.27442, 0.105834, 0.884071, -9.27442, 0.105834, 3.13407, 11.4756, 0.105834, 3.13407, 11.4756, 0.105834, -1.86593, -1.77442, 0.105834, -1.86593, -1.77442, 0.105834, 0.384071, -8.27442, 0.105834, -1.61593, -8.27442, 0.105834, -0.865929, -3.52442, 0.105834, -0.865929, -3.52442, 0.105834, -1.61593) +vertices = PackedVector3Array(-8.52442, 3.10583, -1.86593, -8.52442, 3.10583, -0.615934, -3.27442, 3.10583, -0.615934, -3.27442, 3.10583, -1.86593, -2.27442, 0.105834, 0.884066, -9.27442, 0.105834, 0.884066, -9.27442, 0.105834, 3.13407, 11.4756, 0.105834, 3.13407, 11.4756, 0.105834, -1.86593, -1.77442, 0.105834, -1.86593, -1.77442, 0.105834, 0.384066, -8.27442, 0.105834, -1.61593, -8.27442, 0.105834, -0.865934, -3.52442, 0.105834, -0.865934, -3.52442, 0.105834, -1.61593) polygons = [PackedInt32Array(3, 2, 0), PackedInt32Array(0, 2, 1), PackedInt32Array(5, 4, 6), PackedInt32Array(6, 4, 7), PackedInt32Array(10, 9, 8), PackedInt32Array(10, 8, 4), PackedInt32Array(4, 8, 7), PackedInt32Array(14, 13, 11), PackedInt32Array(11, 13, 12)] agent_radius = 0.7 @@ -55,6 +55,7 @@ affect_navigation_mesh = true [node name="StaticBody3D" type="StaticBody3D" parent="Cart-bottom/NavigationRegion3D/NavigationObstacle3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.50052, -0.0203562, -1.1511) +input_ray_pickable = false [node name="CollisionShape3D" type="CollisionShape3D" parent="Cart-bottom/NavigationRegion3D/NavigationObstacle3D/StaticBody3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.352722, 1.07356, -0.102142) @@ -85,34 +86,39 @@ visible = false mesh = ExtResource("3_2wj72") [node name="BlockBuildingArea" type="StaticBody3D" parent="."] +visible = false [node name="CollisionShape3D4" type="CollisionShape3D" parent="BlockBuildingArea"] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 11.1878, 1.59147, -0.622702) +visible = false shape = SubResource("BoxShape3D_esjgi") [node name="CollisionShape3D3" type="CollisionShape3D" parent="BlockBuildingArea"] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -10.6143, 1.63224, 0.537586) +visible = false shape = SubResource("BoxShape3D_esjgi") [node name="CollisionShape3D2" type="CollisionShape3D" parent="BlockBuildingArea"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.619003, 1.50816, 3.83996) +visible = false shape = SubResource("BoxShape3D_esjgi") [node name="CollisionShape3D" type="CollisionShape3D" parent="BlockBuildingArea"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.282789, 1.61902, -2.6054) +visible = false shape = SubResource("BoxShape3D_esjgi") [node name="BuildingArea" type="StaticBody3D" parent="." node_paths=PackedStringArray("buildTransparentPreivew")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.3174, 1.96498, -1.34338) script = ExtResource("5_eosii") buildTransparentPreivew = NodePath("BuildAreaModeView") metadata/is_building_area = true [node name="smallBuildingArea2" type="CollisionShape3D" parent="BuildingArea"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.69414, 1.44495, -1.22106) shape = SubResource("BoxShape3D_eosii") metadata/is_building_area = true [node name="BuildAreaModeView" type="MeshInstance3D" parent="BuildingArea"] -transform = Transform3D(5.40002, 0, 0, 0, 4.29805, 0, 0, 0, 2.28394, -5.69414, 1.02766, -1.22106) +transform = Transform3D(5.40002, 0, 0, 0, 4.29805, 0, 0, 0, 2.28394, 0, 0, 0) mesh = SubResource("BoxMesh_eosii") surface_material_override/0 = SubResource("ShaderMaterial_u7bw1") diff --git a/Scripts/build_object.gd b/Scripts/build_object.gd index 4662a79..47fa585 100644 --- a/Scripts/build_object.gd +++ b/Scripts/build_object.gd @@ -52,7 +52,8 @@ func _on_preview_create(): set_preview_shader_color() -func _on_object_placed(): +func _on_object_placed(build_postion): + restore_default_shaders() diff --git a/Scripts/building_area.gd b/Scripts/building_area.gd index 94fdd46..6dd6842 100644 --- a/Scripts/building_area.gd +++ b/Scripts/building_area.gd @@ -6,6 +6,8 @@ extends StaticBody3D var areas var previewObject: Node3D var is_placed = false + + func _ready() -> void: areas = get_children() buildTransparentPreivew.visible = false @@ -43,9 +45,9 @@ func hide_preview(): buildTransparentPreivew.visible = true func place_object(): - is_placed = true - buildTransparentPreivew.visible = false - Global.object_placed.emit() + #is_placed = true + #buildTransparentPreivew.visible = false + Global.object_placed.emit(self.position) self.queue_free() func _on_enter_build_mode(): diff --git a/Scripts/cart.gd b/Scripts/cart.gd index c56604f..d07917b 100644 --- a/Scripts/cart.gd +++ b/Scripts/cart.gd @@ -1,17 +1,23 @@ extends Node3D -@onready var beds = preload("res://Scenes/Prefabs/DoubleBeds.tscn") @export var cartTop: MeshInstance3D @export var mainCamera: Camera3D + var nav_mesh: NavigationMesh var previewObject var targetPos func _ready() -> void: - pass + Global.object_placed.connect(_on_object_placed) func _input(event: InputEvent) -> void: if event.is_action_pressed("hide_top"): cartTop.visible = !cartTop.visible #add_preview() + + +func _on_object_placed(build_postion): + var newObject = BuildManager.get_preview_object().instantiate() + newObject.global_position = build_postion + self.add_child(newObject) diff --git a/Scripts/global_script.gd b/Scripts/global_script.gd index 2435cfd..9be172e 100644 --- a/Scripts/global_script.gd +++ b/Scripts/global_script.gd @@ -10,7 +10,7 @@ signal enter_build_mode signal preview_created signal preview_destroyed -signal object_placed +signal object_placed(build_postion) var build_mode: bool = false