Added Itemsmanager
Items now can be stored. I wanna kill myself
This commit is contained in:
BIN
Blends/Person/test/Untitled.blend
Normal file
BIN
Blends/Person/test/Untitled.blend
Normal file
Binary file not shown.
53
Blends/Person/test/Untitled.blend.import
Normal file
53
Blends/Person/test/Untitled.blend.import
Normal file
@@ -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
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
extends Node3D
|
||||
|
||||
var item_name
|
||||
@@ -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")
|
||||
|
||||
@@ -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"]
|
||||
|
||||
@@ -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"]
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
4
Scripts/Item.gd
Normal file
4
Scripts/Item.gd
Normal file
@@ -0,0 +1,4 @@
|
||||
extends Node3D
|
||||
class_name Item
|
||||
var item_name
|
||||
var shelf_owner
|
||||
4
Scripts/Items/food_item.gd
Normal file
4
Scripts/Items/food_item.gd
Normal file
@@ -0,0 +1,4 @@
|
||||
extends Item
|
||||
|
||||
func _init() -> void:
|
||||
item_name = "food"
|
||||
1
Scripts/Items/food_item.gd.uid
Normal file
1
Scripts/Items/food_item.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://bd3vhk86ac1nu
|
||||
@@ -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()
|
||||
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
54
Scripts/item_manager.gd
Normal file
54
Scripts/item_manager.gd
Normal file
@@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
1
Scripts/item_manager.gd.uid
Normal file
1
Scripts/item_manager.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://c3bt4qr6bip5y
|
||||
40
Scripts/objects/shelf_object.gd
Normal file
40
Scripts/objects/shelf_object.gd
Normal file
@@ -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")
|
||||
1
Scripts/objects/shelf_object.gd.uid
Normal file
1
Scripts/objects/shelf_object.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://dw0nntbakhny6
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user