diff --git a/Scenes/main.tscn b/Scenes/main.tscn index 40fb964..7019307 100644 --- a/Scenes/main.tscn +++ b/Scenes/main.tscn @@ -146,4 +146,4 @@ focus_mode = 1 mouse_filter = 2 [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) diff --git a/Scripts/Interactable.gd b/Scripts/Interactable.gd index 242ed6e..898b6c4 100644 --- a/Scripts/Interactable.gd +++ b/Scripts/Interactable.gd @@ -6,5 +6,14 @@ var can_pick: bool var can_store: bool var stored_objects: Array -func action(person): +var max_person_using +var persons_using: Array + +func action(person, object): print("action!") + +func add_person_using(person): + persons_using.append(person) + +func remove_person_using(person): + persons_using.erase(person) diff --git a/Scripts/global_script.gd b/Scripts/global_script.gd index 13693cc..96be5bb 100644 --- a/Scripts/global_script.gd +++ b/Scripts/global_script.gd @@ -12,4 +12,4 @@ func _ready() -> void: interact.connect(_on_interact) func _on_interact(person, object): - object.action(person) + object.ActionNode.action(person, object) diff --git a/Scripts/objects/DoubleBeds.gd b/Scripts/objects/DoubleBeds.gd index b5fdcfd..15a5ed6 100644 --- a/Scripts/objects/DoubleBeds.gd +++ b/Scripts/objects/DoubleBeds.gd @@ -1,9 +1,26 @@ 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_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") + diff --git a/Scripts/person.gd b/Scripts/person.gd index 23010ae..0dda4cd 100644 --- a/Scripts/person.gd +++ b/Scripts/person.gd @@ -55,5 +55,6 @@ func set_target_position(): func _on_navigation_agent_3d_target_reached() -> void: 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