Show interaction popup (<E> Label)

interactions
cblech 1 year ago
parent 84fcec8227
commit 78471268db

@ -1261,7 +1261,7 @@ shaded = true
texture = ExtResource("14_qxv15")
[node name="InteractionArea" parent="semi_cat" instance=ExtResource("28_h5ibf")]
transform = Transform3D(2.875, 0, 0, 0, 2.875, 0, 0, 0, 2.875, 0, -1.698, 0)
transform = Transform3D(2.875, 0, 0, 0, 2.875, 0, 0, 0, 2.875, 0, -0.291344, 0.404458)
[node name="Dialogic" type="Node" parent="semi_cat"]
script = ExtResource("16_frq8l")

@ -9,8 +9,20 @@ radius = 1.0
script = ExtResource("1_26v5g")
[node name="Area3D" type="Area3D" parent="."]
collision_layer = 0
collision_mask = 16
[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D"]
shape = SubResource("SphereShape3D_i8sim")
[node name="Label3D" type="Label3D" parent="."]
sorting_offset = 100.0
pixel_size = 0.001
billboard = 1
no_depth_test = true
fixed_size = true
text = "<E>"
font_size = 98
outline_size = 22
[connection signal="body_entered" from="Area3D" to="Label3D" method="show"]
[connection signal="body_exited" from="Area3D" to="Label3D" method="hide"]

@ -1,9 +1,16 @@
extends Node3D
@onready var area_3d: Area3D = $Area3D
@onready var label_3d: Label3D = $Label3D
signal interacted
func _process(delta: float) -> void:
if area_3d.has_overlapping_bodies():
label_3d.show()
else:
label_3d.hide()
func _input(event: InputEvent) -> void:
if event.is_action("interact") && event.is_pressed() && area_3d.has_overlapping_bodies():
interacted.emit()

Loading…
Cancel
Save