immersive-home/app/addons/godot-xr-tools/objects/grab_points/grabber.gd

33 lines
777 B
GDScript3
Raw Normal View History

2023-12-14 01:03:03 +02:00
class_name Grabber
## Grabber Class
##
## This class contains relevant information for a grabber including any
## assocated pickup, controller, and hand nodes.
## Grabber node
var by : Node3D
## Pickup associated with the grabber
var pickup : XRToolsFunctionPickup
## Controller associated with the grabber
var controller : XRController3D
## Hand associated with the grabber
var hand : XRToolsHand
## Collision hand associated with the grabber
var collision_hand : XRToolsCollisionHand
## Initialize the grabber
func _init(p_by : Node3D) -> void:
by = p_by
pickup = p_by as XRToolsFunctionPickup
controller = pickup.get_controller() if pickup else null
hand = XRToolsHand.find_instance(controller)
collision_hand = XRToolsCollisionHand.find_instance(controller)