// --------------------------------------------------------------------------------------------------------------------
//
// Copyright (c) VRMADA, All rights reserved.
//
// --------------------------------------------------------------------------------------------------------------------
using UltimateXR.Devices;
namespace UltimateXR.Avatar.Controllers
{
public sealed partial class UxrStandardAvatarController
{
#region Private Types & Data
///
/// Stores relevant information of a hand required by the at runtime.
///
private class HandInfo
{
#region Public Types & Data
///
/// Gets or sets the index of the grab animation event. That is, the event whose animation is
/// / .
///
public int GrabEventIndex { get; set; }
///
/// Gets or sets the hand pose name of at the beginning.
///
public string InitialHandGrabPoseName { get; set; }
///
/// Gets or sets the required to activate the
/// at the beginning.
///
public UxrInputButtons InitialHandGrabButtons { get; set; }
///
/// Gets or sets whether the hand is currently grabbing.
///
public bool IsGrabbing { get; set; }
///
/// Gets or sets whether the hand is currently pointing.
///
public bool IsPointing { get; set; }
///
/// Gets or sets whether the hand has currently a finger tip inside a .
///
public bool IsInsideFingerPointingVolume { get; set; }
///
/// Gets or sets whether the hand was grabbing last frame.
///
public bool WasGrabbingLastFrame { get; set; }
///
/// Gets or sets whether the hand was pointing last frame.
///
public bool WasPointingLastFrame { get; set; }
///
/// Gets or sets whether the hand should be let grab again. Used to control grab/release.
///
public bool LetGrabAgain { get; set; }
///
/// Gets or sets the value between range [0.0, 1.0] that controls the grab pose blending.
///
public float GrabBlendValue { get; set; }
#endregion
}
#endregion
}
}