update interaction

This commit is contained in:
Nikolai Fesenko
2025-08-17 17:25:45 +02:00
parent 5637c82eb7
commit c073bb555f
5 changed files with 33 additions and 6 deletions

View File

@@ -146,4 +146,4 @@ focus_mode = 1
mouse_filter = 2 mouse_filter = 2
[node name="Marker3D" type="Marker3D" parent="."] [node name="Marker3D" type="Marker3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.90278, -57.5436) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.439, 2.74, -59.25)

View File

@@ -6,5 +6,14 @@ var can_pick: bool
var can_store: bool var can_store: bool
var stored_objects: Array var stored_objects: Array
func action(person): var max_person_using
var persons_using: Array
func action(person, object):
print("action!") print("action!")
func add_person_using(person):
persons_using.append(person)
func remove_person_using(person):
persons_using.erase(person)

View File

@@ -12,4 +12,4 @@ func _ready() -> void:
interact.connect(_on_interact) interact.connect(_on_interact)
func _on_interact(person, object): func _on_interact(person, object):
object.action(person) object.ActionNode.action(person, object)

View File

@@ -1,9 +1,26 @@
extends Interactable extends Interactable
func _ready() -> void: var transform_pos1: Vector3
var transform_rot1: Vector3
var transform_pos2: Vector3
var transform_rot2: Vector3
func _init() -> void:
can_pick = false can_pick = false
can_store = false can_store = false
max_person_using = 2
transform_pos1 = Vector3(-0.18,-0.753,-0.275)
transform_rot1 = Vector3(84.2,-90.0, 0)
transform_pos2 = Vector3(-0.18,1.226,-0.275)
transform_rot2 = Vector3(84.2,-90.0, 0)
func action(person): func action(person, object):
person.global_position = object.to_global(transform_pos1)
person.rotation = transform_rot1
print(person.position)
print(str(person) + " is sleeping") print(str(person) + " is sleeping")

View File

@@ -55,5 +55,6 @@ func set_target_position():
func _on_navigation_agent_3d_target_reached() -> void: func _on_navigation_agent_3d_target_reached() -> void:
if target_object != null: if target_object != null:
Global.interact.emit(self, target_object.ActionNode) nav_agent.target_position = self.global_position
Global.interact.emit(self, target_object)
pass pass