diff --git a/Blends/Person/test/Untitled.blend b/Blends/Person/test/Untitled.blend new file mode 100644 index 0000000..f9fff7b Binary files /dev/null and b/Blends/Person/test/Untitled.blend differ diff --git a/Blends/Person/test/Untitled.blend.import b/Blends/Person/test/Untitled.blend.import new file mode 100644 index 0000000..0744bc0 --- /dev/null +++ b/Blends/Person/test/Untitled.blend.import @@ -0,0 +1,53 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://c1ermg14csqb6" +path="res://.godot/imported/Untitled.blend-593cf321034d89ec0dceac9257bb7479.scn" + +[deps] + +source_file="res://Blends/Person/test/Untitled.blend" +dest_files=["res://.godot/imported/Untitled.blend-593cf321034d89ec0dceac9257bb7479.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +_subresources={} +blender/nodes/visible=0 +blender/nodes/active_collection_only=false +blender/nodes/punctual_lights=true +blender/nodes/cameras=true +blender/nodes/custom_properties=true +blender/nodes/modifiers=1 +blender/meshes/colors=false +blender/meshes/uvs=true +blender/meshes/normals=true +blender/meshes/export_geometry_nodes_instances=false +blender/meshes/tangents=true +blender/meshes/skins=2 +blender/meshes/export_bones_deforming_mesh_only=false +blender/materials/unpack_enabled=true +blender/materials/export_materials=1 +blender/animation/limit_playback=true +blender/animation/always_sample=true +blender/animation/group_tracks=true diff --git a/Scenes/Prefabs/Battery.tscn b/Scenes/Prefabs/Battery.tscn index efdc4fb..ea58b65 100644 --- a/Scenes/Prefabs/Battery.tscn +++ b/Scenes/Prefabs/Battery.tscn @@ -20,6 +20,7 @@ shader_parameter/color = Vector3(0, 0, 0) render_priority = 0 shader = ExtResource("10_pigwg") shader_parameter/is_active = false +shader_parameter/color = Vector3(0.95, 0.71, 0.01) [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_byy4f"] next_pass = SubResource("ShaderMaterial_pigwg") @@ -76,6 +77,7 @@ surface_material_override/7 = SubResource("ShaderMaterial_hnq8j") surface_material_override/8 = SubResource("StandardMaterial3D_byy4f") [node name="StaticBody3D" type="StaticBody3D" parent="."] +input_ray_pickable = false [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.053833, -0.776428, 0.0276413) diff --git a/Scenes/Prefabs/DoubleBeds.tscn b/Scenes/Prefabs/DoubleBeds.tscn index f386b4a..659379a 100644 --- a/Scenes/Prefabs/DoubleBeds.tscn +++ b/Scenes/Prefabs/DoubleBeds.tscn @@ -65,6 +65,7 @@ surface_material_override/1 = SubResource("StandardMaterial3D_k1k40") surface_material_override/2 = SubResource("StandardMaterial3D_tma46") [node name="StaticBody3D" type="StaticBody3D" parent="."] +input_ray_pickable = false [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.218994, -0.287048, 0.10144) @@ -75,15 +76,12 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.3739) script = ExtResource("8_c1046") [node name="Area3d" type="Area3D" parent="ActionNode"] +input_ray_pickable = false [node name="CollisionShape3D" type="CollisionShape3D" parent="ActionNode/Area3d"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.839141, 0.470829) shape = SubResource("SphereShape3D_c1046") -[node name="CSGSphere3D" type="CSGSphere3D" parent="ActionNode/Area3d"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.839141, 0.470829) -radius = 0.886475 - [node name="PersonPos1" parent="ActionNode" instance=ExtResource("9_k1k40")] transform = Transform3D(0.0323901, -0.298156, -0.00732965, 0.298245, 0.0323998, 0, 0.000791598, -0.00728678, 0.29991, -0.0940391, -1.07055, -1.60941) visible = false diff --git a/Scenes/Prefabs/Item.gd b/Scenes/Prefabs/Item.gd deleted file mode 100644 index f5ffa0e..0000000 --- a/Scenes/Prefabs/Item.gd +++ /dev/null @@ -1,3 +0,0 @@ -extends Node3D - -var item_name diff --git a/Scenes/Prefabs/Pot.tscn b/Scenes/Prefabs/Pot.tscn index 1e3b1ae..d4b28ca 100644 --- a/Scenes/Prefabs/Pot.tscn +++ b/Scenes/Prefabs/Pot.tscn @@ -24,6 +24,7 @@ size = Vector3(3.78918, 4.23603, 2.59656) render_priority = 0 shader = ExtResource("7_gtq0i") shader_parameter/is_active = false +shader_parameter/color = Vector3(0.95, 0.71, 0.01) [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_dn6sd"] next_pass = SubResource("ShaderMaterial_r71lq") @@ -41,6 +42,7 @@ uv1_scale = Vector3(0.5, 0.4, 1) render_priority = 0 shader = ExtResource("7_gtq0i") shader_parameter/is_active = false +shader_parameter/color = Vector3(0.95, 0.71, 0.01) [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_uhv8u"] next_pass = SubResource("ShaderMaterial_e7ek7") @@ -52,6 +54,7 @@ normal_texture = ExtResource("6_r71lq") render_priority = 0 shader = ExtResource("7_gtq0i") shader_parameter/is_active = false +shader_parameter/color = Vector3(0.95, 0.71, 0.01) [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_rbvpf"] next_pass = SubResource("ShaderMaterial_dn6sd") diff --git a/Scenes/Prefabs/Shelf.tscn b/Scenes/Prefabs/Shelf.tscn index ce9e59d..af1463a 100644 --- a/Scenes/Prefabs/Shelf.tscn +++ b/Scenes/Prefabs/Shelf.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=11 format=3 uid="uid://c0gypplbklc3i"] +[gd_scene load_steps=13 format=3 uid="uid://c0gypplbklc3i"] [ext_resource type="ArrayMesh" uid="uid://k2k1ppv3ycsv" path="res://Blends/Shelf/Shelf.obj" id="1_usf1u"] [ext_resource type="Script" uid="uid://c61rr6to3q566" path="res://Scripts/build_object.gd" id="1_ya6sq"] @@ -6,6 +6,7 @@ [ext_resource type="Texture2D" uid="uid://5gmmgg4cmefr" path="res://Blends/Shelf/color.png" id="2_x70sl"] [ext_resource type="Texture2D" uid="uid://q0duenho1u2x" path="res://Blends/Shelf/normal.png" id="3_ya6sq"] [ext_resource type="Shader" uid="uid://c08eg1piwoy3t" path="res://Shaders/outline.gdshader" id="5_jbe2f"] +[ext_resource type="Script" uid="uid://dw0nntbakhny6" path="res://Scripts/objects/shelf_object.gd" id="7_4318v"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_4318v"] render_priority = 0 @@ -16,6 +17,7 @@ shader_parameter/color = Vector3(0, 0, 0) render_priority = 0 shader = ExtResource("5_jbe2f") shader_parameter/is_active = false +shader_parameter/color = Vector3(0.95, 0.71, 0.01) [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jbe2f"] next_pass = SubResource("ShaderMaterial_0dtcx") @@ -27,10 +29,14 @@ normal_texture = ExtResource("3_ya6sq") [sub_resource type="BoxShape3D" id="BoxShape3D_jbe2f"] size = Vector3(4.40356, 3.34375, 1.28992) -[node name="Shelf" type="Node3D" node_paths=PackedStringArray("meshInstance")] +[sub_resource type="SphereShape3D" id="SphereShape3D_jbe2f"] +radius = 0.870929 + +[node name="Shelf" type="Node3D" node_paths=PackedStringArray("meshInstance", "ActionNode")] script = ExtResource("1_ya6sq") meshInstance = NodePath("Shelf") preview_shader = SubResource("ShaderMaterial_4318v") +ActionNode = NodePath("ActionNode") [node name="Shelf" type="MeshInstance3D" parent="."] transform = Transform3D(-2.18557e-08, 0, -0.5, 0, 0.5, 0, 0.5, 0, -2.18557e-08, 0, -1.53245, 0) @@ -38,7 +44,26 @@ mesh = ExtResource("1_usf1u") surface_material_override/0 = SubResource("StandardMaterial3D_jbe2f") [node name="StaticBody3D" type="StaticBody3D" parent="."] +input_ray_pickable = false [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0545654, 0.0981445, -0.0205688) shape = SubResource("BoxShape3D_jbe2f") + +[node name="ActionNode" type="Node3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.39139) +script = ExtResource("7_4318v") + +[node name="Area3d" type="Area3D" parent="ActionNode"] +input_ray_pickable = false + +[node name="CollisionShape3D" type="CollisionShape3D" parent="ActionNode/Area3d"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.839141, 0.470829) +shape = SubResource("SphereShape3D_jbe2f") + +[node name="CSGSphere3D" type="CSGSphere3D" parent="ActionNode/Area3d"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.839141, 0.470829) +visible = false +radius = 0.886475 + +[connection signal="ready" from="ActionNode" to="ActionNode" method="_on_ready"] diff --git a/Scenes/Prefabs/cart.tscn b/Scenes/Prefabs/cart.tscn index 76d192e..b259443 100644 --- a/Scenes/Prefabs/cart.tscn +++ b/Scenes/Prefabs/cart.tscn @@ -8,15 +8,15 @@ [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.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)] +vertices = PackedVector3Array(-8.52442, 1.10583, -1.86593, -8.52442, 1.10583, -0.615934, -3.27442, 1.10583, -0.615934, -3.27442, 1.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) +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)] agent_radius = 0.7 [sub_resource type="BoxShape3D" id="BoxShape3D_u7bw1"] size = Vector3(22.1814, 0.0957031, 5.72699) [sub_resource type="BoxShape3D" id="BoxShape3D_ru0md"] -size = Vector3(6.47229, 3.39474, 2.33685) +size = Vector3(6.47229, 1.38536, 2.33685) [sub_resource type="BoxShape3D" id="BoxShape3D_esjgi"] size = Vector3(22.2341, 4.23804, 0.494629) @@ -54,11 +54,13 @@ height = 0.1 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) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.50052, -0.0203562, -20.5103) +collision_layer = 4 +collision_mask = 4 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) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.352722, 0.0688691, -0.102142) shape = SubResource("BoxShape3D_ru0md") [node name="Wheels2" type="MeshInstance3D" parent="."] @@ -86,26 +88,22 @@ visible = false mesh = ExtResource("3_2wj72") [node name="BlockBuildingArea" type="StaticBody3D" parent="."] -visible = false +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.137932, 0) [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")] @@ -116,6 +114,7 @@ metadata/is_building_area = true [node name="smallBuildingArea2" type="CollisionShape3D" parent="BuildingArea"] shape = SubResource("BoxShape3D_eosii") +debug_color = Color(0.981345, 0, 0.371873, 0.42) metadata/is_building_area = true [node name="BuildAreaModeView" type="MeshInstance3D" parent="BuildingArea"] diff --git a/Scenes/Prefabs/food_item.tscn b/Scenes/Prefabs/food_item.tscn index 33d5ae9..ebd894c 100644 --- a/Scenes/Prefabs/food_item.tscn +++ b/Scenes/Prefabs/food_item.tscn @@ -1,12 +1,12 @@ [gd_scene load_steps=4 format=3 uid="uid://d3l2w1076ttb0"] [ext_resource type="PackedScene" uid="uid://tedmijw81j46" path="res://Blends/Items/Food/food.gltf" id="1_613iy"] -[ext_resource type="Script" uid="uid://c1ic8jloyqlnt" path="res://Scenes/Prefabs/Item.gd" id="2_qhaka"] +[ext_resource type="Script" uid="uid://bd3vhk86ac1nu" path="res://Scripts/Items/food_item.gd" id="2_cemcp"] [ext_resource type="Material" uid="uid://detpb4ww2vvsf" path="res://Blends/Items/Food/Material.tres" id="3_cemcp"] [node name="food" instance=ExtResource("1_613iy")] transform = Transform3D(0.3, -1.53807e-05, 1.30802e-05, 1.53807e-05, 0.3, -5.5671e-06, -1.30802e-05, 5.5671e-06, 0.3, 0, 0, 0) -script = ExtResource("2_qhaka") +script = ExtResource("2_cemcp") [node name="Cube" parent="." index="0"] surface_material_override/0 = ExtResource("3_cemcp") diff --git a/Scenes/main.tscn b/Scenes/main.tscn index 7019307..5d177c2 100644 --- a/Scenes/main.tscn +++ b/Scenes/main.tscn @@ -81,6 +81,7 @@ process_material = SubResource("ParticleProcessMaterial_21xkr") draw_pass_1 = SubResource("QuadMesh_21xkr") [node name="SpotLight3D" type="SpotLight3D" parent="."] +process_mode = 4 transform = Transform3D(1, 0, 0, 0, 0.64431, 0.764764, 0, -0.764764, 0.64431, -14.3055, 3.48611, -59.8356) light_energy = 1.162 spot_range = 23.417 diff --git a/Scripts/Interactable.gd b/Scripts/Interactable.gd index e64eeab..251b759 100644 --- a/Scripts/Interactable.gd +++ b/Scripts/Interactable.gd @@ -2,11 +2,13 @@ class_name Interactable extends Node signal action_stoped +signal object_placed() + var can_pick: bool var can_store: bool -var stored_objects: Array +var stored_items: Array var max_person_using var persons_using: Array @@ -48,3 +50,6 @@ func can_be_used(): return true else: return false + +func create(): + pass diff --git a/Scripts/Item.gd b/Scripts/Item.gd new file mode 100644 index 0000000..7b55ad8 --- /dev/null +++ b/Scripts/Item.gd @@ -0,0 +1,4 @@ +extends Node3D +class_name Item +var item_name +var shelf_owner diff --git a/Scenes/Prefabs/Item.gd.uid b/Scripts/Item.gd.uid similarity index 100% rename from Scenes/Prefabs/Item.gd.uid rename to Scripts/Item.gd.uid diff --git a/Scripts/Items/food_item.gd b/Scripts/Items/food_item.gd new file mode 100644 index 0000000..e815d55 --- /dev/null +++ b/Scripts/Items/food_item.gd @@ -0,0 +1,4 @@ +extends Item + +func _init() -> void: + item_name = "food" diff --git a/Scripts/Items/food_item.gd.uid b/Scripts/Items/food_item.gd.uid new file mode 100644 index 0000000..7ad661f --- /dev/null +++ b/Scripts/Items/food_item.gd.uid @@ -0,0 +1 @@ +uid://bd3vhk86ac1nu diff --git a/Scripts/build_object.gd b/Scripts/build_object.gd index 00d0861..0689efb 100644 --- a/Scripts/build_object.gd +++ b/Scripts/build_object.gd @@ -4,19 +4,20 @@ extends Node3D @export var meshInstance: MeshInstance3D @export var preview_shader: ShaderMaterial +@export var ActionNode: Node3D var default_shaders: Array -var staic_body: StaticBody3D -var ActionNode: Node3D +var static_body: StaticBody3D +#var ActionNode: Node3D +var is_placed: bool = false func _ready() -> void: BuildManager.preview_created.connect(_on_preview_create) BuildManager.object_placed.connect(_on_object_placed) set_default_shaders() - staic_body = $StaticBody3D - staic_body.mouse_entered.connect(_on_mouse_enter) - staic_body.mouse_exited.connect(_on_mouse_exit) + static_body = $StaticBody3D + ActionNode = $ActionNode @@ -53,8 +54,11 @@ func _on_preview_create(): func _on_object_placed(build_postion): - #BuildManager.add_object_to_array(self) - #print(ActionNode.global_position) + + is_placed = true + static_body.input_ray_pickable = true + static_body.mouse_entered.connect(_on_mouse_enter) + static_body.mouse_exited.connect(_on_mouse_exit) restore_default_shaders() diff --git a/Scripts/building_area.gd b/Scripts/building_area.gd index 98fc3e2..e2292e2 100644 --- a/Scripts/building_area.gd +++ b/Scripts/building_area.gd @@ -45,7 +45,7 @@ func hide_preview(): buildTransparentPreivew.visible = true func place_object(): - #is_placed = true + is_placed = true #buildTransparentPreivew.visible = false BuildManager.object_placed.emit(self.position) self.queue_free() diff --git a/Scripts/cart.gd b/Scripts/cart.gd index ee97d08..ab48b43 100644 --- a/Scripts/cart.gd +++ b/Scripts/cart.gd @@ -21,4 +21,5 @@ func _on_object_placed(build_postion): var newObject = BuildManager.get_preview_object().instantiate() newObject.global_position = build_postion BuildManager.add_object_to_array(newObject) + newObject.ActionNode.create() self.add_child(newObject) diff --git a/Scripts/global_script.gd b/Scripts/global_script.gd index 5eeb4e7..6e6bd5d 100644 --- a/Scripts/global_script.gd +++ b/Scripts/global_script.gd @@ -11,15 +11,4 @@ func _ready() -> void: func _on_interact(person, object): object.ActionNode.start_action(person, object) - - -func give_item(person, item_id): - var item = get_item_form_id(item_id) - person.hold_item(item) - - - -func get_item_form_id(id): - match id: - 0: - return food_item + print(object) diff --git a/Scripts/item_manager.gd b/Scripts/item_manager.gd new file mode 100644 index 0000000..4c9e31e --- /dev/null +++ b/Scripts/item_manager.gd @@ -0,0 +1,54 @@ +extends Node +@onready var food_item = preload("res://Scenes/Prefabs/food_item.tscn") +signal object_placed +var shelfes: Array + + + +func set_person_target_item(person,item_name): + var result = find_item(item_name) + print(result) + if result != null: + person.set_target(result.shelf_owner.owner) + + + +func find_item(item_name): + + for shelf in shelfes: + if shelf != null: + for item in shelf.stored_items: + if item.item_name == item_name: + return item + return null + +func get_item_name(): + pass + + +func add_shelf(object): + shelfes.append(object) + print(object) + + +func add_item_to_shelf(shelf, item): + item.shelf_owner = shelf + shelf.stored_items.append(item) + +func get_item(id): + return get_item_from_id(id) + +func give_item(person, item_id): + var item = get_item_from_id(item_id) + person.hold_item(item) + + + +func get_item_from_id(id): + match id: + 0: + return food_item + + + + diff --git a/Scripts/item_manager.gd.uid b/Scripts/item_manager.gd.uid new file mode 100644 index 0000000..4a18670 --- /dev/null +++ b/Scripts/item_manager.gd.uid @@ -0,0 +1 @@ +uid://c3bt4qr6bip5y diff --git a/Scripts/objects/shelf_object.gd b/Scripts/objects/shelf_object.gd new file mode 100644 index 0000000..9130984 --- /dev/null +++ b/Scripts/objects/shelf_object.gd @@ -0,0 +1,40 @@ +extends Interactable + + +var test: bool = false + +func _init() -> void: + max_person_using = 1 + can_store = true + print("init") +func _ready() -> void: + self.owner = $".." + print(self) + #object_placed.connect(_on_object_placed.bind(self)) + print("ready") + + + + +func start_action(person, object): + pass + + +func give_out(person): + pass + + +func _on_object_placed(_owner): + print(2) + print(_owner) + var newItem = ItemManager.get_item(0).instantiate() + ItemManager.add_shelf(_owner) + #ItemManager.shelfes.append(_owner) + ItemManager.add_item_to_shelf(_owner, newItem) + print("placed") + +func create(): + var newItem = ItemManager.get_item(0).instantiate() + ItemManager.shelfes.append(self) + ItemManager.add_item_to_shelf(self, newItem) + print("placed") diff --git a/Scripts/objects/shelf_object.gd.uid b/Scripts/objects/shelf_object.gd.uid new file mode 100644 index 0000000..8c6fd0d --- /dev/null +++ b/Scripts/objects/shelf_object.gd.uid @@ -0,0 +1 @@ +uid://dw0nntbakhny6 diff --git a/Scripts/person.gd b/Scripts/person.gd index 094eb11..279b746 100644 --- a/Scripts/person.gd +++ b/Scripts/person.gd @@ -19,12 +19,13 @@ var is_holding_item: bool = false var holdingItem: Object +var target_item: int + func _ready() -> void: nav_agent = $NavigationAgent3D meshI = $MeshInstance3D shirt_shader = meshI.get_surface_override_material(1) - BuildManager.object_added.connect(_on_object_added) set_random_shirt() @@ -33,8 +34,7 @@ func _ready() -> void: is_in_action = false timer = $Timer - - Global.give_item(self, 0) + #nav_agent.target_position = Vector3(-15.955,3.486,-58.942) func _physics_process(delta: float) -> void: @@ -46,10 +46,10 @@ func _physics_process(delta: float) -> void: func _input(event: InputEvent) -> void: if event.is_action_pressed("test"): - set_target_position() + ItemManager.set_person_target_item(self, "food") + #set_target_position() + -func _on_object_added(object): - set_target(object) func set_random_shirt(): @@ -63,6 +63,7 @@ func set_target(object): #if !is_in_action and object.ActionNode.can_be_used(): if !is_in_action: target_object = object + set_target_position() #nav_agent.target_position = target_object.ActionNode.global_position func set_target_position(): is_target_reached = false @@ -70,7 +71,7 @@ func set_target_position(): newPos.y = self.position.y nav_agent.target_position = newPos print(target_object.ActionNode.can_be_used()) - + #nav_agent.target_position = start_pos diff --git a/project.godot b/project.godot index 59f86f3..b6e69ac 100644 --- a/project.godot +++ b/project.godot @@ -20,6 +20,7 @@ config/icon="res://icon.svg" Global="*res://Scripts/global_script.gd" BuildManager="*res://Scripts/build_manager.gd" PersonAction="*res://Scripts/person_action.gd" +ItemManager="*res://Scripts/item_manager.gd" [editor_plugins]