Skip to main content
Version: 2.0.0

Haply::Inverse::Unity::VerseGrip

Represents a VerseGrip device, handling its state and interactions.

Inherits from DeviceBehaviour

Public Events

Name
DeviceDelegateDeviceStateChanged()
Event triggered when the state of the VerseGrip device changes.

Public Functions

Name
delegate voidDeviceDelegate(VerseGrip device)
Delegate for handling VerseGrip state changes.
boolGetButton(VerseGripButton button =VerseGripButton.Button0)
Returns true while the user holds down the button.
boolGetButtonDown(VerseGripButton button =VerseGripButton.Button0)
Returns true during the frame when the user starts pressing the specified button.
boolGetButtonUp(VerseGripButton button =VerseGripButton.Button0)
Returns true during the frame when the user starts releasing the specified button.

Protected Functions

Name
override voidAddClientListeners(Internal.ClientConnection clientConnection)
override voidRemoveClientListeners(Internal.ClientConnection clientConnection)

Public Properties

Name
override DeviceTypeDeviceType
override CursorBehaviourCursor
QuaternionLocalRotation
VerseGrip orientation relative to the parent transform.
boolIsAttached
Indicates whether the VerseGrip is attached to the Inverse3.
intButtonCount

Public Attributes

Name
UnityEvent< VerseGrip >Attached
Event triggered when the VerseGrip is attached to a device.
UnityEvent< VerseGrip >Detached
Event triggered when the VerseGrip is detached from a device.
UnityEvent< VerseGrip, VerseGripButton >ButtonDown
Event triggered when a VerseGrip button is pressed down.
UnityEvent< VerseGrip, VerseGripButton >ButtonUp
Event triggered when a VerseGrip button is released.

Public Events Documentation

event DeviceStateChanged

DeviceDelegate DeviceStateChanged()

Event triggered when the state of the VerseGrip device changes.

See: ClientConfiguration.HapticFrequencyHz

This event is useful for responding to changes in the device's orientation or button presses in real-time. During this event, you can use properties such as LocalRotation, GetButton or IsAttached.

The frequency at which this event is triggered is determined by the haptic loop frequency, which can be configured via ClientConfiguration.HapticFrequencyHz.

Public Functions Documentation

function DeviceDelegate

delegate void DeviceDelegate(
VerseGrip device
)

Delegate for handling VerseGrip state changes.

Parameters:

  • device The VerseGrip device that triggered the event.

function GetButton

bool GetButton(
VerseGripButton button =VerseGripButton.Button0
)

Returns true while the user holds down the button.

Parameters:

  • button The button to check.

Return: True if the button is pressed, false otherwise.

function GetButtonDown

bool GetButtonDown(
VerseGripButton button =VerseGripButton.Button0
)

Returns true during the frame when the user starts pressing the specified button.

Parameters:

  • button The button to check.

See: ButtonDown, ButtonUp, DeviceStateChanged, GetButton, GetButtonUp

Return: True if the button is pressed this frame, false otherwise.

This method should be called within the DeviceStateChanged event callback to function correctly. Calling it from the main thread may miss the frame when the button state changes. For main thread usage, it is preferable to use the ButtonDown event.

function GetButtonUp

bool GetButtonUp(
VerseGripButton button =VerseGripButton.Button0
)

Returns true during the frame when the user starts releasing the specified button.

Parameters:

  • button The button to check.

See: ButtonDown, ButtonUp, DeviceStateChanged, GetButton, GetButtonDown

Return: True if the button was released this frame, false otherwise.

This method should be called within the DeviceStateChanged event callback to function correctly. Calling it from the main thread may miss the frame when the button state changes. For main thread usage, it is preferable to use the ButtonUp event.

Protected Functions Documentation

function AddClientListeners

override void AddClientListeners(
Internal.ClientConnection clientConnection
)

function RemoveClientListeners

override void RemoveClientListeners(
Internal.ClientConnection clientConnection
)

Public Property Documentation

property DeviceType

override DeviceType DeviceType;

property Cursor

override CursorBehaviour Cursor;

This property overrides the base DeviceBehaviour.Cursor property and can be safely cast to VerseGripCursor. Setting this property also updates the DeviceBehaviour._performSetup flag.

property LocalRotation

Quaternion LocalRotation;

VerseGrip orientation relative to the parent transform.

The device DeviceBehaviour.ConnectionState must be DeviceConnectionState.Opened first to get a consistent value.

property IsAttached

bool IsAttached;

Indicates whether the VerseGrip is attached to the Inverse3.

property ButtonCount

static int ButtonCount;

Public Attributes Documentation

variable Attached

UnityEvent< VerseGrip > Attached;

Event triggered when the VerseGrip is attached to a device.

This event is dispatched on the main thread, allowing for safe interactions with Unity scene objects and UI elements. Note that the device state is updated on a separate high-frequency thread, so the state at the time of the event might differ slightly from the current state when handling the event.

variable Detached

UnityEvent< VerseGrip > Detached;

Event triggered when the VerseGrip is detached from a device.

This event is dispatched on the main thread, allowing for safe interactions with Unity scene objects and UI elements. Note that the device state is updated on a separate high-frequency thread, so the state at the time of the event might differ slightly from the current state when handling the event.

variable ButtonDown

UnityEvent< VerseGrip, VerseGripButton > ButtonDown;

Event triggered when a VerseGrip button is pressed down.

This event is dispatched on the main thread, allowing for safe interactions with Unity scene objects and UI elements. Note that the device state is updated on a separate high-frequency thread, so the state at the time of the event might differ slightly from the current state when handling the event.

variable ButtonUp

UnityEvent< VerseGrip, VerseGripButton > ButtonUp;

Event triggered when a VerseGrip button is released.

This event is dispatched on the main thread, allowing for safe interactions with Unity scene objects and UI elements. Note that the device state is updated on a separate high-frequency thread, so the state at the time of the event might differ slightly from the current state when handling the event.