18 lines
609 B
GDScript3
18 lines
609 B
GDScript3
|
|
extends Area3D
|
||
|
|
class_name InteractBox
|
||
|
|
|
||
|
|
signal interactedWith(playerRef: PlayerCharacter)
|
||
|
|
@export var object: Node #Logic for how the interaction works, look for the ButtonLogicToggle, or ButtonLogicImpulse nodes
|
||
|
|
@export var type: String = "default"
|
||
|
|
var playerRef: PlayerCharacter
|
||
|
|
|
||
|
|
func _ready() -> void:
|
||
|
|
set_collision_layer_value(6,true) #Enables Interaction colision layer
|
||
|
|
set_collision_layer_value(1,false) #Disables Default collision layer
|
||
|
|
set_collision_mask_value(1,false) #Disables Default collision mask
|
||
|
|
monitoring = false
|
||
|
|
|
||
|
|
func interact() -> void:
|
||
|
|
interactedWith.emit(playerRef)
|
||
|
|
playerRef = null
|