Ejemplo n.º 1
0
 public void RegisterInputReceiver(AirVRInputReceiver receiver)
 {
     Assert.IsFalse(initialized);
     if (receivers.ContainsValue(receiver) == false)
     {
         receivers.Add(receiver.name, receiver);
     }
 }
Ejemplo n.º 2
0
    public float GetAxis(AirVRInputReceiver receiver, byte controlID)
    {
        float result = 0.0f;

        if (receiver.isRegistered)
        {
            if (GetInputFloatImpl((byte)receiver.deviceID, controlID, ref result) == false)
            {
                result = 0.0f;
            }
        }
        return(result);
    }
Ejemplo n.º 3
0
    public Vector2 GetVector2D(AirVRInputReceiver receiver, byte controlID)
    {
        Vector2 result = Vector2.zero;

        if (receiver.isRegistered)
        {
            if (GetInputFloat2Impl((byte)receiver.deviceID, controlID, ref result) == false)
            {
                result = Vector2.zero;
            }
        }
        return(result);
    }
Ejemplo n.º 4
0
    public Quaternion GetQuaternion(AirVRInputReceiver receiver, byte controlID)
    {
        Vector4 result = new Vector4(0.0f, 0.0f, 0.0f, 1.0f);

        if (receiver.isRegistered)
        {
            if (GetInputFloat4Impl((byte)receiver.deviceID, controlID, ref result) == false)
            {
                result = new Vector4(0.0f, 0.0f, 0.0f, 1.0f);
            }
        }
        return(new Quaternion(result.x, result.y, result.z, result.w));
    }
Ejemplo n.º 5
0
    public void GetTouch(AirVRInputReceiver receiver, byte controlID, out Vector2 position, out bool touch)
    {
        Vector2 resultPosition = Vector2.zero;
        float   resultTouch    = 0.0f;

        if (receiver.isRegistered)
        {
            if (GetInputTouchImpl((byte)receiver.deviceID, controlID, ref resultPosition, ref resultTouch) == false)
            {
                resultPosition = Vector2.zero;
                resultTouch    = 0.0f;
            }
        }

        position = resultPosition;
        touch    = resultTouch != 0.0f;
    }
Ejemplo n.º 6
0
    public void GetTrackedDeviceFeedback(AirVRInputReceiver receiver, byte controlID, out Vector3 rayOrigin, out Vector3 hitPosition, out Vector3 hitNormal)
    {
        Vector3 resultRayOrigin   = Vector3.zero;
        Vector3 resultHitPosition = Vector3.zero;
        Vector3 resultHitNormal   = Vector3.zero;

        if (receiver.isRegistered)
        {
            if (GetTrackedDeviceFeedbackImpl((byte)receiver.deviceID, controlID, ref resultRayOrigin, ref resultHitPosition, ref resultHitNormal) == false)
            {
                resultRayOrigin = resultHitPosition = resultHitNormal = Vector3.zero;
            }
        }

        rayOrigin   = resultRayOrigin;
        hitPosition = resultHitPosition;
        hitNormal   = resultHitNormal;
    }
Ejemplo n.º 7
0
    public void GetTransform(AirVRInputReceiver receiver, byte controlID, out double timeStamp, out Vector3 position, out Quaternion orientation)
    {
        Vector3    pos = Vector3.zero;
        Quaternion rot = Quaternion.identity;
        double     ts  = 0.0;

        if (receiver.isRegistered)
        {
            if (GetInputTransformImpl((byte)receiver.deviceID, controlID, ref ts, ref pos, ref rot) == false)
            {
                pos = Vector3.zero;
                rot = Quaternion.identity;
                ts  = 0.0;
            }
        }

        position    = pos;
        orientation = rot;
        timeStamp   = ts;
    }
Ejemplo n.º 8
0
 public void UnregisterInputReceiver(AirVRInputReceiver receiver)
 {
     receivers.Remove(receiver.name);
 }
Ejemplo n.º 9
0
 public bool CheckIfInputReceiverAvailable(AirVRInputReceiver receiver)
 {
     return(receivers.ContainsValue(receiver) && receiver.isRegistered);
 }
Ejemplo n.º 10
0
 public float GetButton(AirVRInputReceiver receiver, byte controlID)
 {
     return(GetAxis(receiver, controlID));
 }
Ejemplo n.º 11
0
 public Vector2 GetAxis2D(AirVRInputReceiver receiver, byte controlID)
 {
     return(GetVector2D(receiver, controlID));
 }