Compare commits
1 Commits
e32a58f416
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8d00b1a40f |
@@ -73,9 +73,10 @@ input_ray_pickable = false
|
|||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.218994, -0.287048, 0.10144)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.218994, -0.287048, 0.10144)
|
||||||
shape = SubResource("BoxShape3D_sp2kd")
|
shape = SubResource("BoxShape3D_sp2kd")
|
||||||
|
|
||||||
[node name="ActionNode" type="Node3D" parent="."]
|
[node name="ActionNode" type="Node3D" parent="." node_paths=PackedStringArray("area")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.3739)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.3739)
|
||||||
script = ExtResource("8_c1046")
|
script = ExtResource("8_c1046")
|
||||||
|
area = NodePath("Area3d")
|
||||||
|
|
||||||
[node name="Area3d" type="Area3D" parent="ActionNode"]
|
[node name="Area3d" type="Area3D" parent="ActionNode"]
|
||||||
input_ray_pickable = false
|
input_ray_pickable = false
|
||||||
|
|||||||
@@ -88,9 +88,10 @@ surface_material_override/1 = SubResource("StandardMaterial3D_uhv8u")
|
|||||||
surface_material_override/2 = SubResource("StandardMaterial3D_dn6sd")
|
surface_material_override/2 = SubResource("StandardMaterial3D_dn6sd")
|
||||||
surface_material_override/3 = SubResource("StandardMaterial3D_rbvpf")
|
surface_material_override/3 = SubResource("StandardMaterial3D_rbvpf")
|
||||||
|
|
||||||
[node name="ActionNode" type="Node3D" parent="."]
|
[node name="ActionNode" type="Node3D" parent="." node_paths=PackedStringArray("area")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.26206, 2.41965)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.26206, 2.41965)
|
||||||
script = ExtResource("12_r71lq")
|
script = ExtResource("12_r71lq")
|
||||||
|
area = NodePath("Area3d")
|
||||||
|
|
||||||
[node name="Area3d" type="Area3D" parent="ActionNode"]
|
[node name="Area3d" type="Area3D" parent="ActionNode"]
|
||||||
input_ray_pickable = false
|
input_ray_pickable = false
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ extends Node
|
|||||||
signal action_stoped
|
signal action_stoped
|
||||||
signal object_placed()
|
signal object_placed()
|
||||||
|
|
||||||
|
|
||||||
|
@export var area: Area3D
|
||||||
var build_name: String = "None"
|
var build_name: String = "None"
|
||||||
|
|
||||||
|
|
||||||
@@ -38,6 +40,7 @@ func set_person_pos(person):
|
|||||||
for pose in persons_position:
|
for pose in persons_position:
|
||||||
if pose.is_free:
|
if pose.is_free:
|
||||||
pose.set_person(person)
|
pose.set_person(person)
|
||||||
|
break
|
||||||
|
|
||||||
|
|
||||||
func find_pose(person):
|
func find_pose(person):
|
||||||
|
|||||||
@@ -39,8 +39,10 @@ func _input(event: InputEvent) -> void:
|
|||||||
show_context_menu.emit()
|
show_context_menu.emit()
|
||||||
|
|
||||||
func _on_interact(person, object):
|
func _on_interact(person, object):
|
||||||
|
if object.name == "ActionNode":
|
||||||
object.start_action(person, object)
|
object.start_action(person, object)
|
||||||
|
else:
|
||||||
|
object.ActionNode.start_action(person, object)
|
||||||
|
|
||||||
func _on_object_selected(object):
|
func _on_object_selected(object):
|
||||||
if object_selected != null and object != object_selected:
|
if object_selected != null and object != object_selected:
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ func _ready() -> void:
|
|||||||
|
|
||||||
func start_action(person, object):
|
func start_action(person, object):
|
||||||
person.action = self
|
person.action = self
|
||||||
|
person.visible = false
|
||||||
|
set_person_pos(person)
|
||||||
person.set_timer(5)
|
person.set_timer(5)
|
||||||
|
|
||||||
func stop_action(person, object):
|
|
||||||
print("action stoped")
|
|
||||||
|
|||||||
@@ -79,16 +79,22 @@ func set_target_position():
|
|||||||
var newPos = target_object.global_position
|
var newPos = target_object.global_position
|
||||||
newPos.y = self.position.y
|
newPos.y = self.position.y
|
||||||
nav_agent.target_position = newPos
|
nav_agent.target_position = newPos
|
||||||
|
if target_object.name != "ActionNode":
|
||||||
|
target_object.ActionNode.area.body_entered.connect(on_target_reached)
|
||||||
|
else:
|
||||||
|
target_object.area.body_entered.connect(on_target_reached)
|
||||||
#nav_agent.target_position = start_pos
|
#nav_agent.target_position = start_pos
|
||||||
|
|
||||||
|
func on_target_reached(body):
|
||||||
func _on_navigation_agent_3d_target_reached() -> void:
|
print("I reached ")
|
||||||
|
if body == self:
|
||||||
if target_object != null:
|
if target_object != null:
|
||||||
print("I reached a target")
|
print("I reached a target")
|
||||||
is_target_reached = true
|
is_target_reached = true
|
||||||
nav_agent.target_position = self.global_position
|
nav_agent.target_position = self.global_position
|
||||||
Global.interact.emit(self, target_object)
|
Global.interact.emit(self, target_object)
|
||||||
|
func _on_navigation_agent_3d_target_reached() -> void:
|
||||||
|
|
||||||
pass
|
pass
|
||||||
|
|
||||||
func set_timer(time):
|
func set_timer(time):
|
||||||
|
|||||||
@@ -60,3 +60,8 @@ func go_cook():
|
|||||||
else:
|
else:
|
||||||
print("I cant find free pot")
|
print("I cant find free pot")
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
func cook(person, object):
|
||||||
|
person.set_timer(5)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user