示例#1
0
        public string GetPropertyString(uint idx, ETrackedDeviceProperty prop, ref ETrackedPropertyError error)
        {
            var capactiy = openvr.GetStringTrackedDeviceProperty(idx, prop, null, 0, ref error);

            if (capactiy > 1)
            {
                var result = new System.Text.StringBuilder((int)capactiy);
                openvr.GetStringTrackedDeviceProperty(idx, prop, result, capactiy, ref error);
                return(result.ToString());
            }
            return((error != ETrackedPropertyError.TrackedProp_Success) ? error.ToString() : "<unknown>");
        }
        public string GetStringProperty(ETrackedDeviceProperty prop, uint deviceId = 0u)
        {
            ETrackedPropertyError etrackedPropertyError = ETrackedPropertyError.TrackedProp_Success;
            uint stringTrackedDeviceProperty            = this.hmd.GetStringTrackedDeviceProperty(deviceId, prop, null, 0u, ref etrackedPropertyError);

            if (stringTrackedDeviceProperty > 1u)
            {
                StringBuilder stringBuilder = new StringBuilder((int)stringTrackedDeviceProperty);
                this.hmd.GetStringTrackedDeviceProperty(deviceId, prop, stringBuilder, stringTrackedDeviceProperty, ref etrackedPropertyError);
                return(stringBuilder.ToString());
            }
            if (etrackedPropertyError == ETrackedPropertyError.TrackedProp_Success)
            {
                return("<unknown>");
            }
            return(etrackedPropertyError.ToString());
        }
示例#3
0
    private string GetStringProperty(ETrackedDeviceProperty prop)
    {
        ETrackedPropertyError eTrackedPropertyError = ETrackedPropertyError.TrackedProp_Success;
        uint stringTrackedDeviceProperty            = this.hmd.GetStringTrackedDeviceProperty(0u, prop, null, 0u, ref eTrackedPropertyError);

        if (stringTrackedDeviceProperty > 1u)
        {
            StringBuilder stringBuilder = new StringBuilder((int)stringTrackedDeviceProperty);
            this.hmd.GetStringTrackedDeviceProperty(0u, prop, stringBuilder, stringTrackedDeviceProperty, ref eTrackedPropertyError);
            return(stringBuilder.ToString());
        }
        return((eTrackedPropertyError == ETrackedPropertyError.TrackedProp_Success) ? "<unknown>" : eTrackedPropertyError.ToString());
    }
示例#4
0
        public static float GetFloatTrackedDeviceProperty(ETrackedDeviceProperty property, uint device = OpenVR.k_unTrackedDeviceIndex_Hmd)
        {
            ETrackedPropertyError propertyError = ETrackedPropertyError.TrackedProp_Success;
            float value = OpenVR.System.GetFloatTrackedDeviceProperty(device, property, ref propertyError);

            if (propertyError != ETrackedPropertyError.TrackedProp_Success)
            {
                throw new Exception("Failed to obtain tracked device property \"" +
                                    property + "\", error: (" + (int)propertyError + ") " + propertyError.ToString());
            }
            return(value);
        }