Show interaction popup (<E> Label)
This commit is contained in:
@@ -1261,7 +1261,7 @@ shaded = true
|
|||||||
texture = ExtResource("14_qxv15")
|
texture = ExtResource("14_qxv15")
|
||||||
|
|
||||||
[node name="InteractionArea" parent="semi_cat" instance=ExtResource("28_h5ibf")]
|
[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"]
|
[node name="Dialogic" type="Node" parent="semi_cat"]
|
||||||
script = ExtResource("16_frq8l")
|
script = ExtResource("16_frq8l")
|
||||||
|
|||||||
@@ -9,8 +9,20 @@ radius = 1.0
|
|||||||
script = ExtResource("1_26v5g")
|
script = ExtResource("1_26v5g")
|
||||||
|
|
||||||
[node name="Area3D" type="Area3D" parent="."]
|
[node name="Area3D" type="Area3D" parent="."]
|
||||||
collision_layer = 0
|
|
||||||
collision_mask = 16
|
collision_mask = 16
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D"]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D"]
|
||||||
shape = SubResource("SphereShape3D_i8sim")
|
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
|
extends Node3D
|
||||||
|
|
||||||
@onready var area_3d: Area3D = $Area3D
|
@onready var area_3d: Area3D = $Area3D
|
||||||
|
@onready var label_3d: Label3D = $Label3D
|
||||||
|
|
||||||
signal interacted
|
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:
|
func _input(event: InputEvent) -> void:
|
||||||
if event.is_action("interact") && event.is_pressed() && area_3d.has_overlapping_bodies():
|
if event.is_action("interact") && event.is_pressed() && area_3d.has_overlapping_bodies():
|
||||||
interacted.emit()
|
interacted.emit()
|
||||||
|
|||||||
Reference in New Issue
Block a user