Add thrown plates absorb food on station
This commit is contained in:
@@ -36,10 +36,15 @@ func _on_body_entered(body: Node3D) -> void:
|
||||
if not body.is_in_group(target_group):
|
||||
return
|
||||
print("Container _on_body_entered body: ", body)
|
||||
var picked_by = xr_pickable.get_picked_up_by()
|
||||
if picked_by and picked_by.is_in_group("station"):
|
||||
|
||||
# If compatible and enough space, add item
|
||||
|
||||
# If one of us is in a station
|
||||
var picked_by = xr_pickable.get_picked_up_by()
|
||||
var body_pickable = body as XRToolsPickable
|
||||
var body_picked_by = body_pickable.get_picked_up_by() if body_pickable else null
|
||||
if (picked_by and picked_by.is_in_group("station")) or (body_picked_by and body_picked_by.is_in_group("station")):
|
||||
|
||||
# If enough space, add item
|
||||
var food_item = body.get_node("FoodItem")
|
||||
print("Container in station found %s of type %s: %s" % [target_group, FoodItem.Type.keys()[food_item.type], body.name])
|
||||
var meal_count := contained_items.filter(func(f): return f.type == FoodItem.Type.MEAL).size()
|
||||
@@ -52,6 +57,7 @@ func _on_body_entered(body: Node3D) -> void:
|
||||
_add_item(body)
|
||||
|
||||
|
||||
|
||||
# Contents are synced as data (ids on the plate's PlateController), not
|
||||
# reparented nodes: reparenting a MultiplayerSpawner-tracked item out of
|
||||
# WorldContent would despawn it on every client the instant it happened.
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
[ext_resource type="Script" uid="uid://6lyhyial1fh5" path="res://Containers/container.gd" id="1_r4cle"]
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_vlqg6"]
|
||||
radius = 0.2
|
||||
radius = 0.3
|
||||
|
||||
[node name="Container" type="Node3D" unique_id=377793422 node_paths=PackedStringArray("meal_positions")]
|
||||
script = ExtResource("1_r4cle")
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
[ext_resource type="Script" uid="uid://dvobm6vcfnqe8" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="4_dhtvl"]
|
||||
[ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="5_vlcpl"]
|
||||
[ext_resource type="Animation" uid="uid://d1xnpyc08njjx" path="res://addons/godot-xr-tools/hands/animations/right/Grip 4.res" id="6_el51w"]
|
||||
[ext_resource type="Script" path="res://Net/net_pickable.gd" id="20_netpk"]
|
||||
[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://Net/net_pickable.gd" id="20_netpk"]
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_kek77"]
|
||||
height = 0.0635376
|
||||
@@ -153,7 +153,6 @@ polygon = PackedVector2Array(-0.053057775, 0.2586278, 0.09469998, 0.40791017, 0.
|
||||
depth = 0.02
|
||||
material = SubResource("StandardMaterial3D_vlqg6")
|
||||
|
||||
[node name="NetPickable" type="MultiplayerSynchronizer" parent="."]
|
||||
root_path = NodePath("..")
|
||||
[node name="NetPickable" type="MultiplayerSynchronizer" parent="." unique_id=1770751620]
|
||||
replication_config = SubResource("SceneReplicationConfig_np_plate")
|
||||
script = ExtResource("20_netpk")
|
||||
|
||||
Reference in New Issue
Block a user