Ejemplo n.º 1
0
    // Token: 0x06000089 RID: 137 RVA: 0x0000658C File Offset: 0x0000478C
    private ulong GetOverlayHandle(string overlayName, global::UnityEngine.Transform transform, float widthInMeters = 1f)
    {
        ulong num = 0UL;

        global::Valve.VR.CVROverlay overlay = global::Valve.VR.OpenVR.Overlay;
        bool  flag = overlay == null;
        ulong result;

        if (flag)
        {
            result = num;
        }
        else
        {
            string pchOverlayKey = global::SteamVR_Overlay.key + "." + overlayName;
            global::Valve.VR.EVROverlayError evroverlayError = overlay.FindOverlay(pchOverlayKey, ref num);
            bool flag2 = evroverlayError > global::Valve.VR.EVROverlayError.None;
            if (flag2)
            {
                evroverlayError = overlay.CreateOverlay(pchOverlayKey, overlayName, ref num);
            }
            bool flag3 = evroverlayError == global::Valve.VR.EVROverlayError.None;
            if (flag3)
            {
                overlay.ShowOverlay(num);
                overlay.SetOverlayAlpha(num, this.alpha);
                overlay.SetOverlayWidthInMeters(num, widthInMeters);
                bool flag4 = global::SteamVR.instance.graphicsAPI == global::Valve.VR.EGraphicsAPIConvention.API_DirectX;
                if (flag4)
                {
                    global::Valve.VR.VRTextureBounds_t vrtextureBounds_t = default(global::Valve.VR.VRTextureBounds_t);
                    vrtextureBounds_t.uMin = 0f;
                    vrtextureBounds_t.vMin = 1f;
                    vrtextureBounds_t.uMax = 1f;
                    vrtextureBounds_t.vMax = 0f;
                    overlay.SetOverlayTextureBounds(num, ref vrtextureBounds_t);
                }
                global::SteamVR_Camera steamVR_Camera = (this.loadingScreenDistance == 0f) ? global::SteamVR_Render.Top() : null;
                bool flag5 = steamVR_Camera != null && steamVR_Camera.origin != null;
                if (flag5)
                {
                    global::SteamVR_Utils.RigidTransform rigidTransform = new global::SteamVR_Utils.RigidTransform(steamVR_Camera.origin, transform);
                    rigidTransform.pos.x = rigidTransform.pos.x / steamVR_Camera.origin.localScale.x;
                    rigidTransform.pos.y = rigidTransform.pos.y / steamVR_Camera.origin.localScale.y;
                    rigidTransform.pos.z = rigidTransform.pos.z / steamVR_Camera.origin.localScale.z;
                    global::Valve.VR.HmdMatrix34_t hmdMatrix34_t = rigidTransform.ToHmdMatrix34();
                    overlay.SetOverlayTransformAbsolute(num, global::SteamVR_Render.instance.trackingSpace, ref hmdMatrix34_t);
                }
                else
                {
                    global::Valve.VR.HmdMatrix34_t hmdMatrix34_t2 = new global::SteamVR_Utils.RigidTransform(transform).ToHmdMatrix34();
                    overlay.SetOverlayTransformAbsolute(num, global::SteamVR_Render.instance.trackingSpace, ref hmdMatrix34_t2);
                }
            }
            result = num;
        }
        return(result);
    }
Ejemplo n.º 2
0
 // Token: 0x06000691 RID: 1681 RVA: 0x0001FFBC File Offset: 0x0001E1BC
 public RigidTransform(global::Valve.VR.HmdMatrix34_t pose)
 {
     global::UnityEngine.Matrix4x4 identity = global::UnityEngine.Matrix4x4.identity;
     identity[0, 0] = pose.m0;
     identity[0, 1] = pose.m1;
     identity[0, 2] = -pose.m2;
     identity[0, 3] = pose.m3;
     identity[1, 0] = pose.m4;
     identity[1, 1] = pose.m5;
     identity[1, 2] = -pose.m6;
     identity[1, 3] = pose.m7;
     identity[2, 0] = -pose.m8;
     identity[2, 1] = -pose.m9;
     identity[2, 2] = pose.m10;
     identity[2, 3] = -pose.m11;
     this.pos       = identity.GetPosition();
     this.rot       = identity.GetRotation();
 }
Ejemplo n.º 3
0
 // Token: 0x06000064 RID: 100 RVA: 0x00004460 File Offset: 0x00002660
 public void ReadConfig()
 {
     try
     {
         global::Valve.VR.HmdMatrix34_t pose = default(global::Valve.VR.HmdMatrix34_t);
         bool     flag  = false;
         object   obj   = this.config;
         string[] array = global::System.IO.File.ReadAllLines(this.configPath);
         foreach (string text in array)
         {
             string[] array3 = text.Split('=', 0);
             bool     flag2  = array3.Length == 2;
             if (flag2)
             {
                 string text2 = array3[0];
                 bool   flag3 = text2 == "m";
                 if (flag3)
                 {
                     string[] array4 = array3[1].Split(',', 0);
                     bool     flag4  = array4.Length == 12;
                     if (flag4)
                     {
                         pose.m0  = float.Parse(array4[0]);
                         pose.m1  = float.Parse(array4[1]);
                         pose.m2  = float.Parse(array4[2]);
                         pose.m3  = float.Parse(array4[3]);
                         pose.m4  = float.Parse(array4[4]);
                         pose.m5  = float.Parse(array4[5]);
                         pose.m6  = float.Parse(array4[6]);
                         pose.m7  = float.Parse(array4[7]);
                         pose.m8  = float.Parse(array4[8]);
                         pose.m9  = float.Parse(array4[9]);
                         pose.m10 = float.Parse(array4[10]);
                         pose.m11 = float.Parse(array4[11]);
                         flag     = true;
                     }
                 }
                 else
                 {
                     bool flag5 = text2 == "disableStandardAssets";
                     if (flag5)
                     {
                         global::System.Reflection.FieldInfo field = obj.GetType().GetField(text2);
                         bool flag6 = field != null;
                         if (flag6)
                         {
                             field.SetValue(obj, bool.Parse(array3[1]));
                         }
                     }
                     else
                     {
                         global::System.Reflection.FieldInfo field2 = obj.GetType().GetField(text2);
                         bool flag7 = field2 != null;
                         if (flag7)
                         {
                             field2.SetValue(obj, float.Parse(array3[1]));
                         }
                     }
                 }
             }
         }
         this.config = (global::SteamVR_ExternalCamera.Config)obj;
         bool flag8 = flag;
         if (flag8)
         {
             global::SteamVR_Utils.RigidTransform rigidTransform = new global::SteamVR_Utils.RigidTransform(pose);
             this.config.x = rigidTransform.pos.x;
             this.config.y = rigidTransform.pos.y;
             this.config.z = rigidTransform.pos.z;
             global::UnityEngine.Vector3 eulerAngles = rigidTransform.rot.eulerAngles;
             this.config.rx = eulerAngles.x;
             this.config.ry = eulerAngles.y;
             this.config.rz = eulerAngles.z;
         }
     }
     catch
     {
     }
 }
Ejemplo n.º 4
0
    // Token: 0x0600009D RID: 157 RVA: 0x000073DC File Offset: 0x000055DC
    public void UpdateOverlay()
    {
        global::Valve.VR.CVROverlay overlay = global::Valve.VR.OpenVR.Overlay;
        bool flag = overlay == null;

        if (!flag)
        {
            bool flag2 = this.texture != null;
            if (flag2)
            {
                global::Valve.VR.EVROverlayError evroverlayError = overlay.ShowOverlay(this.handle);
                bool flag3 = evroverlayError == global::Valve.VR.EVROverlayError.InvalidHandle || evroverlayError == global::Valve.VR.EVROverlayError.UnknownOverlay;
                if (flag3)
                {
                    bool flag4 = overlay.FindOverlay(global::SteamVR_Overlay.key, ref this.handle) > global::Valve.VR.EVROverlayError.None;
                    if (flag4)
                    {
                        return;
                    }
                }
                global::Valve.VR.Texture_t texture_t = default(global::Valve.VR.Texture_t);
                texture_t.handle      = this.texture.GetNativeTexturePtr();
                texture_t.eType       = global::SteamVR.instance.graphicsAPI;
                texture_t.eColorSpace = global::Valve.VR.EColorSpace.Auto;
                overlay.SetOverlayTexture(this.handle, ref texture_t);
                overlay.SetOverlayAlpha(this.handle, this.alpha);
                overlay.SetOverlayWidthInMeters(this.handle, this.scale);
                overlay.SetOverlayAutoCurveDistanceRangeInMeters(this.handle, this.curvedRange.x, this.curvedRange.y);
                global::Valve.VR.VRTextureBounds_t vrtextureBounds_t = default(global::Valve.VR.VRTextureBounds_t);
                vrtextureBounds_t.uMin = (0f + this.uvOffset.x) * this.uvOffset.z;
                vrtextureBounds_t.vMin = (1f + this.uvOffset.y) * this.uvOffset.w;
                vrtextureBounds_t.uMax = (1f + this.uvOffset.x) * this.uvOffset.z;
                vrtextureBounds_t.vMax = (0f + this.uvOffset.y) * this.uvOffset.w;
                overlay.SetOverlayTextureBounds(this.handle, ref vrtextureBounds_t);
                global::Valve.VR.HmdVector2_t hmdVector2_t = default(global::Valve.VR.HmdVector2_t);
                hmdVector2_t.v0 = this.mouseScale.x;
                hmdVector2_t.v1 = this.mouseScale.y;
                overlay.SetOverlayMouseScale(this.handle, ref hmdVector2_t);
                global::SteamVR_Camera steamVR_Camera = global::SteamVR_Render.Top();
                bool flag5 = steamVR_Camera != null && steamVR_Camera.origin != null;
                if (flag5)
                {
                    global::SteamVR_Utils.RigidTransform rigidTransform = new global::SteamVR_Utils.RigidTransform(steamVR_Camera.origin, base.transform);
                    rigidTransform.pos.x = rigidTransform.pos.x / steamVR_Camera.origin.localScale.x;
                    rigidTransform.pos.y = rigidTransform.pos.y / steamVR_Camera.origin.localScale.y;
                    rigidTransform.pos.z = rigidTransform.pos.z / steamVR_Camera.origin.localScale.z;
                    rigidTransform.pos.z = rigidTransform.pos.z + this.distance;
                    global::Valve.VR.HmdMatrix34_t hmdMatrix34_t = rigidTransform.ToHmdMatrix34();
                    overlay.SetOverlayTransformAbsolute(this.handle, global::SteamVR_Render.instance.trackingSpace, ref hmdMatrix34_t);
                }
                overlay.SetOverlayInputMethod(this.handle, this.inputMethod);
                bool flag6 = this.curved || this.antialias;
                if (flag6)
                {
                    this.highquality = true;
                }
                bool flag7 = this.highquality;
                if (flag7)
                {
                    overlay.SetHighQualityOverlay(this.handle);
                    overlay.SetOverlayFlag(this.handle, global::Valve.VR.VROverlayFlags.Curved, this.curved);
                    overlay.SetOverlayFlag(this.handle, global::Valve.VR.VROverlayFlags.RGSS4X, this.antialias);
                }
                else
                {
                    bool flag8 = overlay.GetHighQualityOverlay() == this.handle;
                    if (flag8)
                    {
                        overlay.SetHighQualityOverlay(0UL);
                    }
                }
            }
            else
            {
                overlay.HideOverlay(this.handle);
            }
        }
    }
Ejemplo n.º 5
0
 // Token: 0x06000164 RID: 356 RVA: 0x0000BF24 File Offset: 0x0000A124
 public void SetWorkingStandingZeroPoseToRawTrackingPose(ref global::Valve.VR.HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose)
 {
     this.FnTable.SetWorkingStandingZeroPoseToRawTrackingPose(ref pMatStandingZeroPoseToRawTrackingPose);
 }
Ejemplo n.º 6
0
 // Token: 0x06000160 RID: 352 RVA: 0x0000BEBC File Offset: 0x0000A0BC
 public bool GetWorkingStandingZeroPoseToRawTrackingPose(ref global::Valve.VR.HmdMatrix34_t pmatStandingZeroPoseToRawTrackingPose)
 {
     return(this.FnTable.GetWorkingStandingZeroPoseToRawTrackingPose(ref pmatStandingZeroPoseToRawTrackingPose));
 }
Ejemplo n.º 7
0
 // Token: 0x06000166 RID: 358 RVA: 0x0000BF50 File Offset: 0x0000A150
 public bool GetLiveSeatedZeroPoseToRawTrackingPose(ref global::Valve.VR.HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose)
 {
     return(this.FnTable.GetLiveSeatedZeroPoseToRawTrackingPose(ref pmatSeatedZeroPoseToRawTrackingPose));
 }
Ejemplo n.º 8
0
 // Token: 0x06000116 RID: 278 RVA: 0x0000B339 File Offset: 0x00009539
 public void ApplyTransform(ref global::Valve.VR.TrackedDevicePose_t pOutputPose, ref global::Valve.VR.TrackedDevicePose_t pTrackedDevicePose, ref global::Valve.VR.HmdMatrix34_t pTransform)
 {
     this.FnTable.ApplyTransform(ref pOutputPose, ref pTrackedDevicePose, ref pTransform);
 }
Ejemplo n.º 9
0
 // Token: 0x060001CD RID: 461 RVA: 0x0000CEE6 File Offset: 0x0000B0E6
 public void SetKeyboardTransformAbsolute(global::Valve.VR.ETrackingUniverseOrigin eTrackingOrigin, ref global::Valve.VR.HmdMatrix34_t pmatTrackingOriginToKeyboardTransform)
 {
     this.FnTable.SetKeyboardTransformAbsolute(eTrackingOrigin, ref pmatTrackingOriginToKeyboardTransform);
 }
Ejemplo n.º 10
0
 // Token: 0x060001AF RID: 431 RVA: 0x0000CA28 File Offset: 0x0000AC28
 public global::Valve.VR.EVROverlayError GetTransformForOverlayCoordinates(ulong ulOverlayHandle, global::Valve.VR.ETrackingUniverseOrigin eTrackingOrigin, global::Valve.VR.HmdVector2_t coordinatesInOverlay, ref global::Valve.VR.HmdMatrix34_t pmatTransform)
 {
     return(this.FnTable.GetTransformForOverlayCoordinates(ulOverlayHandle, eTrackingOrigin, coordinatesInOverlay, ref pmatTransform));
 }
Ejemplo n.º 11
0
 // Token: 0x060001A9 RID: 425 RVA: 0x0000C930 File Offset: 0x0000AB30
 public global::Valve.VR.EVROverlayError GetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle, ref uint punTrackedDevice, ref global::Valve.VR.HmdMatrix34_t pmatTrackedDeviceToOverlayTransform)
 {
     punTrackedDevice = 0U;
     return(this.FnTable.GetOverlayTransformTrackedDeviceRelative(ulOverlayHandle, ref punTrackedDevice, ref pmatTrackedDeviceToOverlayTransform));
 }
Ejemplo n.º 12
0
 // Token: 0x060001A7 RID: 423 RVA: 0x0000C8E0 File Offset: 0x0000AAE0
 public global::Valve.VR.EVROverlayError GetOverlayTransformAbsolute(ulong ulOverlayHandle, ref global::Valve.VR.ETrackingUniverseOrigin peTrackingOrigin, ref global::Valve.VR.HmdMatrix34_t pmatTrackingOriginToOverlayTransform)
 {
     return(this.FnTable.GetOverlayTransformAbsolute(ulOverlayHandle, ref peTrackingOrigin, ref pmatTrackingOriginToOverlayTransform));
 }