using System; using System.Collections; using System.Diagnostics; using System.IO; using UnityEngine; using UnityEngine.SceneManagement; using Valve.VR; // Token: 0x020007D4 RID: 2004 public class SteamVR_LoadLevel : MonoBehaviour { // Token: 0x060106F6 RID: 67318 RVA: 0x004E7184 File Offset: 0x004E5384 public static void BNNOODNIJGH(string GFMBNPAOABE, bool NNFAEGEOEOO = false, float JGCJDMINFCH = 0.5f, float GJAPMDIMMKN = 0f, float MJDECFBKAHG = 0f, float GNNBOMAEBGK = 0f, float FKOFGIJFIKA = 1f) { SteamVR_LoadLevel steamVR_LoadLevel = new GameObject("steamvr").AddComponent(); steamVR_LoadLevel.levelName = GFMBNPAOABE; steamVR_LoadLevel.showGrid = NNFAEGEOEOO; steamVR_LoadLevel.fadeOutTime = JGCJDMINFCH; steamVR_LoadLevel.backgroundColor = new Color(GJAPMDIMMKN, MJDECFBKAHG, GNNBOMAEBGK, FKOFGIJFIKA); steamVR_LoadLevel.Trigger(); } // Token: 0x060106F7 RID: 67319 RVA: 0x004E71D0 File Offset: 0x004E53D0 public static Texture LJKHOMKMDKC() { return (!(SteamVR_LoadLevel.PKBPJLOJKEF != null)) ? null : SteamVR_LoadLevel.PKBPJLOJKEF.ANHNNLOIDPF; } // Token: 0x060106F8 RID: 67320 RVA: 0x004E71F4 File Offset: 0x004E53F4 public static Texture LENBFPACBAE() { return (!(SteamVR_LoadLevel.PKBPJLOJKEF != null)) ? null : SteamVR_LoadLevel.PKBPJLOJKEF.ANHNNLOIDPF; } // Token: 0x060106F9 RID: 67321 RVA: 0x004E7218 File Offset: 0x004E5418 public void Trigger() { if (!SteamVR_LoadLevel.IOIDHBFNJFE && !string.IsNullOrEmpty(this.levelName)) { base.StartCoroutine(this.KBPGDNLOIIH()); } } // Token: 0x060106FA RID: 67322 RVA: 0x004E7244 File Offset: 0x004E5444 private void AHHEENEFAPI() { if (SteamVR_LoadLevel.PKBPJLOJKEF != this) { return; } this.ELFEPDAKCDL = Mathf.Clamp01(this.ELFEPDAKCDL + this.NCNPHDOHLPC * Time.deltaTime); DCHDEFCKKEH dchdefckkeh = PONCCGLALMO.GJJJAJIHLJK(); if (dchdefckkeh != null) { if (this.PNNKNPNIHGC != 1UL) { dchdefckkeh.CKKKBEBIBPE(this.PNNKNPNIHGC, this.ELFEPDAKCDL); } if (this.BFEIGAENDLN != 0UL) { dchdefckkeh.CKKKBEBIBPE(this.BFEIGAENDLN, this.ELFEPDAKCDL); } } } // Token: 0x170006CC RID: 1740 // (get) Token: 0x060106FB RID: 67323 RVA: 0x004E72CC File Offset: 0x004E54CC public static bool IOIDHBFNJFE { get { return SteamVR_LoadLevel.PKBPJLOJKEF != null; } } // Token: 0x060106FC RID: 67324 RVA: 0x004E72DC File Offset: 0x004E54DC private IEnumerator HCLANEMKGND() { if (this.loadingScreen != null && this.loadingScreenDistance > 0f) { PNLCMOFOFOH.OOPOGLBNJPF oopoglbnjpf = PNLCMOFOFOH.KHOLKDHABII(0); while (!oopoglbnjpf.AFKJHFLFEEC) { yield return null; } GGJHKKJMNKB.RigidTransform rigidTransform = oopoglbnjpf.DKCNBKFJCLK; rigidTransform.rot = Quaternion.Euler(0f, rigidTransform.rot.eulerAngles.y, 0f); rigidTransform.pos += rigidTransform.rot * new Vector3(0f, 0f, this.loadingScreenDistance); Transform transform = ((!(this.loadingScreenTransform != null)) ? base.transform : this.loadingScreenTransform); transform.position = rigidTransform.pos; transform.rotation = rigidTransform.rot; } SteamVR_LoadLevel.PKBPJLOJKEF = this; DAGNICICCAN.DEKFLBEKMKA.CKKKGIFDIJJ(true); if (this.loadingScreenFadeInTime > 0f) { this.NCNPHDOHLPC = 1f / this.loadingScreenFadeInTime; } else { this.ELFEPDAKCDL = 1f; } DCHDEFCKKEH dchdefckkeh = PONCCGLALMO.KEEAFJGCEDM; if (this.loadingScreen != null && dchdefckkeh != null) { this.PNNKNPNIHGC = this.PDOKJOGAFIG("loadingScreen", (!(this.loadingScreenTransform != null)) ? base.transform : this.loadingScreenTransform, this.loadingScreenWidthInMeters); if (this.PNNKNPNIHGC != 0UL) { NDCAPNBHFGH ndcapnbhfgh = default(NDCAPNBHFGH); ndcapnbhfgh.IEPIMIDPDFF = this.loadingScreen.GetNativeTexturePtr(); ndcapnbhfgh.CIFAEGAFAGF = GOMKCPFBJFL.FCDPFLMFDBC.FHAGINHNPGK; ndcapnbhfgh.DFEBDLOGJPK = EOPGPPPLFHO.Auto; dchdefckkeh.NCDMNPICKIE(this.PNNKNPNIHGC, ref ndcapnbhfgh); } } bool flag = false; DAGNICICCAN.MGJHLHIGHBA.CKKKGIFDIJJ(this.fadeOutTime); AFELBMDLPIE afelbmdlpie = PONCCGLALMO.GCFINLENMEI; if (afelbmdlpie != null) { if (this.front != null) { SteamVR_Skybox.SetOverride(this.front, this.back, this.left, this.right, this.top, this.bottom); afelbmdlpie.GOEDJIIBNKF(this.fadeOutTime, true); yield return new WaitForSeconds(this.fadeOutTime); } else if (this.backgroundColor != Color.clear) { if (this.showGrid) { afelbmdlpie.GCFOFEENOHJ(0f, this.backgroundColor.r, this.backgroundColor.g, this.backgroundColor.b, this.backgroundColor.a, true); afelbmdlpie.GOEDJIIBNKF(this.fadeOutTime, true); yield return new WaitForSeconds(this.fadeOutTime); } else { afelbmdlpie.GCFOFEENOHJ(this.fadeOutTime, this.backgroundColor.r, this.backgroundColor.g, this.backgroundColor.b, this.backgroundColor.a, false); yield return new WaitForSeconds(this.fadeOutTime + 0.1f); afelbmdlpie.GOEDJIIBNKF(0f, true); flag = true; } } } SteamVR_Render.MNFDKBGJFKL = true; while (this.ELFEPDAKCDL < 1f) { yield return null; } base.transform.parent = null; global::UnityEngine.Object.DontDestroyOnLoad(base.gameObject); if (!string.IsNullOrEmpty(this.internalProcessPath)) { global::UnityEngine.Debug.Log("Launching external application..."); BJFMBBOBAKB bjfmbbobakb = PONCCGLALMO.LGAOOOAFHJB; if (bjfmbbobakb == null) { global::UnityEngine.Debug.Log("Failed to get OpenVR.Applications interface!"); } else { string currentDirectory = Directory.GetCurrentDirectory(); string text = Path.Combine(currentDirectory, this.internalProcessPath); global::UnityEngine.Debug.Log("LaunchingInternalProcess"); global::UnityEngine.Debug.Log("ExternalAppPath = " + this.internalProcessPath); global::UnityEngine.Debug.Log("FullPath = " + text); global::UnityEngine.Debug.Log("ExternalAppArgs = " + this.internalProcessArgs); global::UnityEngine.Debug.Log("WorkingDirectory = " + currentDirectory); ODNJFBJBBDC odnjfbjbbdc = bjfmbbobakb.KFMDOBDNKCH(text, this.internalProcessArgs, currentDirectory); global::UnityEngine.Debug.Log("LaunchInternalProcessError: " + odnjfbjbbdc); Process.GetCurrentProcess().Kill(); } } else { LoadSceneMode loadSceneMode = ((!this.loadAdditive) ? LoadSceneMode.Single : LoadSceneMode.Additive); if (this.loadAsync) { Application.backgroundLoadingPriority = ThreadPriority.Low; this.LJAPLMAHBJL = SceneManager.LoadSceneAsync(this.levelName, loadSceneMode); while (!this.LJAPLMAHBJL.isDone) { yield return null; } } else { SceneManager.LoadScene(this.levelName, loadSceneMode); } } yield return null; GC.Collect(); yield return null; Shader.WarmupAllShaders(); yield return new WaitForSeconds(this.postLoadSettleTime); SteamVR_Render.MNFDKBGJFKL = false; if (this.loadingScreenFadeOutTime > 0f) { this.NCNPHDOHLPC = -1f / this.loadingScreenFadeOutTime; } else { this.ELFEPDAKCDL = 0f; } DAGNICICCAN.LHCDNKCHCLA.CKKKGIFDIJJ(this.fadeInTime); if (afelbmdlpie != null) { if (flag) { afelbmdlpie.GOEDJIIBNKF(0f, false); afelbmdlpie.GCFOFEENOHJ(this.fadeInTime, 0f, 0f, 0f, 0f, false); yield return new WaitForSeconds(this.fadeInTime); } else { afelbmdlpie.GOEDJIIBNKF(this.fadeInTime, false); yield return new WaitForSeconds(this.fadeInTime); if (this.front != null) { SteamVR_Skybox.ClearOverride(); } } } while (this.ELFEPDAKCDL > 0f) { yield return null; } if (dchdefckkeh != null) { if (this.BFEIGAENDLN != 0UL) { dchdefckkeh.HEFCMOKPMDP(this.BFEIGAENDLN); } if (this.PNNKNPNIHGC != 0UL) { dchdefckkeh.HEFCMOKPMDP(this.PNNKNPNIHGC); } } global::UnityEngine.Object.Destroy(base.gameObject); SteamVR_LoadLevel.PKBPJLOJKEF = null; DAGNICICCAN.DEKFLBEKMKA.CKKKGIFDIJJ(false); yield break; } // Token: 0x060106FD RID: 67325 RVA: 0x004E72F8 File Offset: 0x004E54F8 public static bool CELPBBLBFPI() { return SteamVR_LoadLevel.PKBPJLOJKEF != null; } // Token: 0x170006CE RID: 1742 // (get) Token: 0x060106FE RID: 67326 RVA: 0x004E7308 File Offset: 0x004E5508 public static Texture OLJBPCHJCEF { get { return (!(SteamVR_LoadLevel.PKBPJLOJKEF != null)) ? null : SteamVR_LoadLevel.PKBPJLOJKEF.ANHNNLOIDPF; } } // Token: 0x060106FF RID: 67327 RVA: 0x004E732C File Offset: 0x004E552C public static Texture NCFBJFDHDFK() { return (!(SteamVR_LoadLevel.PKBPJLOJKEF != null)) ? null : SteamVR_LoadLevel.PKBPJLOJKEF.ANHNNLOIDPF; } // Token: 0x06010700 RID: 67328 RVA: 0x004E7350 File Offset: 0x004E5550 public void NNHKLAFMKHP() { if (!SteamVR_LoadLevel.CELPBBLBFPI() && !string.IsNullOrEmpty(this.levelName)) { base.StartCoroutine(this.OIIHAEJFJLE()); } } // Token: 0x06010701 RID: 67329 RVA: 0x004E737C File Offset: 0x004E557C private ulong PDOKJOGAFIG(string LLDIECEEBFF, Transform DKCNBKFJCLK, float DPCACDJONND = 1f) { ulong num = 0UL; DCHDEFCKKEH dchdefckkeh = PONCCGLALMO.KEEAFJGCEDM; if (dchdefckkeh == null) { return num; } string text = SteamVR_Overlay.ANOFFEKMECJ + "." + LLDIECEEBFF; IIIDJOMNHNM iiidjomnhnm = dchdefckkeh.MJMOBGFPMMN(text, ref num); if (iiidjomnhnm != IIIDJOMNHNM.None) { iiidjomnhnm = dchdefckkeh.LLCHILNFFJN(text, LLDIECEEBFF, ref num); } if (iiidjomnhnm == IIIDJOMNHNM.None) { dchdefckkeh.FJOMAELJPCJ(num); dchdefckkeh.EJPDNEMGJEE(num, this.ELFEPDAKCDL); dchdefckkeh.LIIFAHBBIII(num, DPCACDJONND); if (GOMKCPFBJFL.FCDPFLMFDBC.FHAGINHNPGK == MOPMBBPPCDD.DirectX) { BHNBHPCKNLO bhnbhpcknlo = default(BHNBHPCKNLO); bhnbhpcknlo.OLOJJBFCNGD = 0f; bhnbhpcknlo.ADEACBFCCEI = 1f; bhnbhpcknlo.AMIKGKPJANG = 1f; bhnbhpcknlo.LHFHCIKAPNC = 0f; dchdefckkeh.MAKDNEAHBLD(num, ref bhnbhpcknlo); } SteamVR_Camera steamVR_Camera = ((this.loadingScreenDistance != 0f) ? null : SteamVR_Render.Top()); if (steamVR_Camera != null && steamVR_Camera.MIKPIBIENPH != null) { GGJHKKJMNKB.RigidTransform rigidTransform = new GGJHKKJMNKB.RigidTransform(steamVR_Camera.MIKPIBIENPH, DKCNBKFJCLK); rigidTransform.pos.x = rigidTransform.pos.x / steamVR_Camera.MIKPIBIENPH.localScale.x; rigidTransform.pos.y = rigidTransform.pos.y / steamVR_Camera.MIKPIBIENPH.localScale.y; rigidTransform.pos.z = rigidTransform.pos.z / steamVR_Camera.MIKPIBIENPH.localScale.z; KDDJNNDMEEF kddjnndmeef = rigidTransform.KJLPJPKDEGN(); dchdefckkeh.HICDPJDIKEK(num, SteamVR_Render.FCDPFLMFDBC.trackingSpace, ref kddjnndmeef); } else { GGJHKKJMNKB.RigidTransform rigidTransform2 = new GGJHKKJMNKB.RigidTransform(DKCNBKFJCLK); KDDJNNDMEEF kddjnndmeef2 = rigidTransform2.KJLPJPKDEGN(); dchdefckkeh.HICDPJDIKEK(num, SteamVR_Render.FCDPFLMFDBC.trackingSpace, ref kddjnndmeef2); } } return num; } // Token: 0x06010702 RID: 67330 RVA: 0x004E7548 File Offset: 0x004E5748 private ulong KOCOLMDMDHG(string LLDIECEEBFF, Transform DKCNBKFJCLK, float DPCACDJONND = 1f) { ulong num = 0UL; DCHDEFCKKEH dchdefckkeh = PONCCGLALMO.PHHMGMFOBFL(); if (dchdefckkeh == null) { return num; } string text = SteamVR_Overlay.EILJAAAECDI() + "QUEST_TIMER" + LLDIECEEBFF; IIIDJOMNHNM iiidjomnhnm = dchdefckkeh.MJMOBGFPMMN(text, ref num); if (iiidjomnhnm != IIIDJOMNHNM.None) { iiidjomnhnm = dchdefckkeh.LLCHILNFFJN(text, LLDIECEEBFF, ref num); } if (iiidjomnhnm == IIIDJOMNHNM.None) { dchdefckkeh.FJOMAELJPCJ(num); dchdefckkeh.CKKKBEBIBPE(num, this.ELFEPDAKCDL); dchdefckkeh.LIIFAHBBIII(num, DPCACDJONND); if (GOMKCPFBJFL.OJABCFGOCMC().FHAGINHNPGK == MOPMBBPPCDD.DirectX) { BHNBHPCKNLO bhnbhpcknlo = default(BHNBHPCKNLO); bhnbhpcknlo.OLOJJBFCNGD = 1234f; bhnbhpcknlo.ADEACBFCCEI = 118f; bhnbhpcknlo.AMIKGKPJANG = 292f; bhnbhpcknlo.LHFHCIKAPNC = 647f; dchdefckkeh.GKFNJIFDOLE(num, ref bhnbhpcknlo); } SteamVR_Camera steamVR_Camera = ((this.loadingScreenDistance != 1331f) ? null : SteamVR_Render.Top()); if (steamVR_Camera != null && steamVR_Camera.MIKPIBIENPH != null) { GGJHKKJMNKB.RigidTransform rigidTransform = new GGJHKKJMNKB.RigidTransform(steamVR_Camera.MIKPIBIENPH, DKCNBKFJCLK); rigidTransform.pos.x = rigidTransform.pos.x / steamVR_Camera.GPOBCKGIHDF().localScale.x; rigidTransform.pos.y = rigidTransform.pos.y / steamVR_Camera.GPOBCKGIHDF().localScale.y; rigidTransform.pos.z = rigidTransform.pos.z / steamVR_Camera.GPOBCKGIHDF().localScale.z; KDDJNNDMEEF kddjnndmeef = rigidTransform.KJLPJPKDEGN(); dchdefckkeh.HICDPJDIKEK(num, SteamVR_Render.FCDPFLMFDBC.trackingSpace, ref kddjnndmeef); } else { GGJHKKJMNKB.RigidTransform rigidTransform2 = new GGJHKKJMNKB.RigidTransform(DKCNBKFJCLK); KDDJNNDMEEF kddjnndmeef2 = rigidTransform2.PFGGIHLLDHI(); dchdefckkeh.HICDPJDIKEK(num, SteamVR_Render.IJFAOFCBBFJ().trackingSpace, ref kddjnndmeef2); } } return num; } // Token: 0x06010703 RID: 67331 RVA: 0x004E7714 File Offset: 0x004E5914 private void OnGUI() { if (SteamVR_LoadLevel.PKBPJLOJKEF != this) { return; } if (this.progressBarEmpty != null && this.progressBarFull != null) { if (this.BFEIGAENDLN == 0UL) { this.BFEIGAENDLN = this.PDOKJOGAFIG("progressBar", (!(this.progressBarTransform != null)) ? base.transform : this.progressBarTransform, this.progressBarWidthInMeters); } if (this.BFEIGAENDLN != 0UL) { float num = ((this.LJAPLMAHBJL == null) ? 0f : this.LJAPLMAHBJL.progress); int width = this.progressBarFull.width; int height = this.progressBarFull.height; if (this.ANHNNLOIDPF == null) { this.ANHNNLOIDPF = new RenderTexture(width, height, 0); this.ANHNNLOIDPF.Create(); } RenderTexture active = RenderTexture.active; RenderTexture.active = this.ANHNNLOIDPF; if (Event.current.type == EventType.Repaint) { GL.Clear(false, true, Color.clear); } GUILayout.BeginArea(new Rect(0f, 0f, (float)width, (float)height)); GUI.DrawTexture(new Rect(0f, 0f, (float)width, (float)height), this.progressBarEmpty); GUI.DrawTextureWithTexCoords(new Rect(0f, 0f, num * (float)width, (float)height), this.progressBarFull, new Rect(0f, 0f, num, 1f)); GUILayout.EndArea(); RenderTexture.active = active; DCHDEFCKKEH dchdefckkeh = PONCCGLALMO.KEEAFJGCEDM; if (dchdefckkeh != null) { NDCAPNBHFGH ndcapnbhfgh = default(NDCAPNBHFGH); ndcapnbhfgh.IEPIMIDPDFF = this.ANHNNLOIDPF.GetNativeTexturePtr(); ndcapnbhfgh.CIFAEGAFAGF = GOMKCPFBJFL.FCDPFLMFDBC.FHAGINHNPGK; ndcapnbhfgh.DFEBDLOGJPK = EOPGPPPLFHO.Auto; dchdefckkeh.NCDMNPICKIE(this.BFEIGAENDLN, ref ndcapnbhfgh); } } } } // Token: 0x06010705 RID: 67333 RVA: 0x004E7904 File Offset: 0x004E5B04 public static void Begin(string GFMBNPAOABE, bool NNFAEGEOEOO = false, float JGCJDMINFCH = 0.5f, float GJAPMDIMMKN = 0f, float MJDECFBKAHG = 0f, float GNNBOMAEBGK = 0f, float FKOFGIJFIKA = 1f) { SteamVR_LoadLevel steamVR_LoadLevel = new GameObject("loader").AddComponent(); steamVR_LoadLevel.levelName = GFMBNPAOABE; steamVR_LoadLevel.showGrid = NNFAEGEOEOO; steamVR_LoadLevel.fadeOutTime = JGCJDMINFCH; steamVR_LoadLevel.backgroundColor = new Color(GJAPMDIMMKN, MJDECFBKAHG, GNNBOMAEBGK, FKOFGIJFIKA); steamVR_LoadLevel.Trigger(); } // Token: 0x06010706 RID: 67334 RVA: 0x004E7950 File Offset: 0x004E5B50 private IEnumerator MBLFNIADNAE() { if (this.loadingScreen != null && this.loadingScreenDistance > 0f) { oopoglbnjpf = PNLCMOFOFOH.KHOLKDHABII(0); while (!oopoglbnjpf.AFKJHFLFEEC) { yield return null; } rigidTransform = oopoglbnjpf.DKCNBKFJCLK; rigidTransform.rot = Quaternion.Euler(0f, rigidTransform.rot.eulerAngles.y, 0f); rigidTransform.pos += rigidTransform.rot * new Vector3(0f, 0f, this.loadingScreenDistance); transform = ((!(this.loadingScreenTransform != null)) ? base.transform : this.loadingScreenTransform); transform.position = rigidTransform.pos; transform.rotation = rigidTransform.rot; } SteamVR_LoadLevel.PKBPJLOJKEF = this; DAGNICICCAN.DEKFLBEKMKA.CKKKGIFDIJJ(true); if (this.loadingScreenFadeInTime > 0f) { this.NCNPHDOHLPC = 1f / this.loadingScreenFadeInTime; } else { this.ELFEPDAKCDL = 1f; } dchdefckkeh = PONCCGLALMO.KEEAFJGCEDM; if (this.loadingScreen != null && dchdefckkeh != null) { this.PNNKNPNIHGC = this.PDOKJOGAFIG("loadingScreen", (!(this.loadingScreenTransform != null)) ? base.transform : this.loadingScreenTransform, this.loadingScreenWidthInMeters); if (this.PNNKNPNIHGC != 0UL) { NDCAPNBHFGH ndcapnbhfgh = default(NDCAPNBHFGH); ndcapnbhfgh.IEPIMIDPDFF = this.loadingScreen.GetNativeTexturePtr(); ndcapnbhfgh.CIFAEGAFAGF = GOMKCPFBJFL.FCDPFLMFDBC.FHAGINHNPGK; ndcapnbhfgh.DFEBDLOGJPK = EOPGPPPLFHO.Auto; dchdefckkeh.NCDMNPICKIE(this.PNNKNPNIHGC, ref ndcapnbhfgh); } } flag = false; DAGNICICCAN.MGJHLHIGHBA.CKKKGIFDIJJ(this.fadeOutTime); afelbmdlpie = PONCCGLALMO.GCFINLENMEI; if (afelbmdlpie != null) { if (this.front != null) { SteamVR_Skybox.SetOverride(this.front, this.back, this.left, this.right, this.top, this.bottom); afelbmdlpie.GOEDJIIBNKF(this.fadeOutTime, true); yield return new WaitForSeconds(this.fadeOutTime); } else if (this.backgroundColor != Color.clear) { if (this.showGrid) { afelbmdlpie.GCFOFEENOHJ(0f, this.backgroundColor.r, this.backgroundColor.g, this.backgroundColor.b, this.backgroundColor.a, true); afelbmdlpie.GOEDJIIBNKF(this.fadeOutTime, true); yield return new WaitForSeconds(this.fadeOutTime); } else { afelbmdlpie.GCFOFEENOHJ(this.fadeOutTime, this.backgroundColor.r, this.backgroundColor.g, this.backgroundColor.b, this.backgroundColor.a, false); yield return new WaitForSeconds(this.fadeOutTime + 0.1f); afelbmdlpie.GOEDJIIBNKF(0f, true); flag = true; } } } SteamVR_Render.MNFDKBGJFKL = true; while (this.ELFEPDAKCDL < 1f) { yield return null; } base.transform.parent = null; global::UnityEngine.Object.DontDestroyOnLoad(base.gameObject); if (!string.IsNullOrEmpty(this.internalProcessPath)) { global::UnityEngine.Debug.Log("Launching external application..."); BJFMBBOBAKB bjfmbbobakb = PONCCGLALMO.LGAOOOAFHJB; if (bjfmbbobakb == null) { global::UnityEngine.Debug.Log("Failed to get OpenVR.Applications interface!"); } else { string currentDirectory = Directory.GetCurrentDirectory(); string text = Path.Combine(currentDirectory, this.internalProcessPath); global::UnityEngine.Debug.Log("LaunchingInternalProcess"); global::UnityEngine.Debug.Log("ExternalAppPath = " + this.internalProcessPath); global::UnityEngine.Debug.Log("FullPath = " + text); global::UnityEngine.Debug.Log("ExternalAppArgs = " + this.internalProcessArgs); global::UnityEngine.Debug.Log("WorkingDirectory = " + currentDirectory); ODNJFBJBBDC odnjfbjbbdc = bjfmbbobakb.KFMDOBDNKCH(text, this.internalProcessArgs, currentDirectory); global::UnityEngine.Debug.Log("LaunchInternalProcessError: " + odnjfbjbbdc); Process.GetCurrentProcess().Kill(); } } else { loadSceneMode = ((!this.loadAdditive) ? LoadSceneMode.Single : LoadSceneMode.Additive); if (this.loadAsync) { Application.backgroundLoadingPriority = ThreadPriority.Low; this.LJAPLMAHBJL = SceneManager.LoadSceneAsync(this.levelName, loadSceneMode); while (!this.LJAPLMAHBJL.isDone) { yield return null; } } else { SceneManager.LoadScene(this.levelName, loadSceneMode); } } yield return null; GC.Collect(); yield return null; Shader.WarmupAllShaders(); yield return new WaitForSeconds(this.postLoadSettleTime); SteamVR_Render.MNFDKBGJFKL = false; if (this.loadingScreenFadeOutTime > 0f) { this.NCNPHDOHLPC = -1f / this.loadingScreenFadeOutTime; } else { this.ELFEPDAKCDL = 0f; } DAGNICICCAN.LHCDNKCHCLA.CKKKGIFDIJJ(this.fadeInTime); if (afelbmdlpie != null) { if (flag) { afelbmdlpie.GOEDJIIBNKF(0f, false); afelbmdlpie.GCFOFEENOHJ(this.fadeInTime, 0f, 0f, 0f, 0f, false); yield return new WaitForSeconds(this.fadeInTime); } else { afelbmdlpie.GOEDJIIBNKF(this.fadeInTime, false); yield return new WaitForSeconds(this.fadeInTime); if (this.front != null) { SteamVR_Skybox.ClearOverride(); } } } while (this.ELFEPDAKCDL > 0f) { yield return null; } if (dchdefckkeh != null) { if (this.BFEIGAENDLN != 0UL) { dchdefckkeh.HEFCMOKPMDP(this.BFEIGAENDLN); } if (this.PNNKNPNIHGC != 0UL) { dchdefckkeh.HEFCMOKPMDP(this.PNNKNPNIHGC); } } global::UnityEngine.Object.Destroy(base.gameObject); SteamVR_LoadLevel.PKBPJLOJKEF = null; DAGNICICCAN.DEKFLBEKMKA.CKKKGIFDIJJ(false); yield break; } // Token: 0x06010707 RID: 67335 RVA: 0x004E796C File Offset: 0x004E5B6C private void OnEnable() { if (this.autoTriggerOnEnable) { this.Trigger(); } } // Token: 0x06010708 RID: 67336 RVA: 0x004E7980 File Offset: 0x004E5B80 public static float FPPJKKFEOLO() { return (!(SteamVR_LoadLevel.PKBPJLOJKEF != null) || SteamVR_LoadLevel.PKBPJLOJKEF.LJAPLMAHBJL == null) ? 839f : SteamVR_LoadLevel.PKBPJLOJKEF.LJAPLMAHBJL.progress; } // Token: 0x170006CD RID: 1741 // (get) Token: 0x06010709 RID: 67337 RVA: 0x004E79BC File Offset: 0x004E5BBC public static float PAGBFDILBGA { get { return (!(SteamVR_LoadLevel.PKBPJLOJKEF != null) || SteamVR_LoadLevel.PKBPJLOJKEF.LJAPLMAHBJL == null) ? 0f : SteamVR_LoadLevel.PKBPJLOJKEF.LJAPLMAHBJL.progress; } } // Token: 0x0601070A RID: 67338 RVA: 0x004E79F8 File Offset: 0x004E5BF8 private IEnumerator OIIHAEJFJLE() { if (this.loadingScreen != null && this.loadingScreenDistance > 0f) { oopoglbnjpf = PNLCMOFOFOH.KHOLKDHABII(0); while (!oopoglbnjpf.AFKJHFLFEEC) { yield return null; } rigidTransform = oopoglbnjpf.DKCNBKFJCLK; rigidTransform.rot = Quaternion.Euler(0f, rigidTransform.rot.eulerAngles.y, 0f); rigidTransform.pos += rigidTransform.rot * new Vector3(0f, 0f, this.loadingScreenDistance); transform = ((!(this.loadingScreenTransform != null)) ? base.transform : this.loadingScreenTransform); transform.position = rigidTransform.pos; transform.rotation = rigidTransform.rot; } SteamVR_LoadLevel.PKBPJLOJKEF = this; DAGNICICCAN.DEKFLBEKMKA.CKKKGIFDIJJ(true); if (this.loadingScreenFadeInTime > 0f) { this.NCNPHDOHLPC = 1f / this.loadingScreenFadeInTime; } else { this.ELFEPDAKCDL = 1f; } dchdefckkeh = PONCCGLALMO.KEEAFJGCEDM; if (this.loadingScreen != null && dchdefckkeh != null) { this.PNNKNPNIHGC = this.PDOKJOGAFIG("loadingScreen", (!(this.loadingScreenTransform != null)) ? base.transform : this.loadingScreenTransform, this.loadingScreenWidthInMeters); if (this.PNNKNPNIHGC != 0UL) { NDCAPNBHFGH ndcapnbhfgh = default(NDCAPNBHFGH); ndcapnbhfgh.IEPIMIDPDFF = this.loadingScreen.GetNativeTexturePtr(); ndcapnbhfgh.CIFAEGAFAGF = GOMKCPFBJFL.FCDPFLMFDBC.FHAGINHNPGK; ndcapnbhfgh.DFEBDLOGJPK = EOPGPPPLFHO.Auto; dchdefckkeh.NCDMNPICKIE(this.PNNKNPNIHGC, ref ndcapnbhfgh); } } flag = false; DAGNICICCAN.MGJHLHIGHBA.CKKKGIFDIJJ(this.fadeOutTime); afelbmdlpie = PONCCGLALMO.GCFINLENMEI; if (afelbmdlpie != null) { if (this.front != null) { SteamVR_Skybox.SetOverride(this.front, this.back, this.left, this.right, this.top, this.bottom); afelbmdlpie.GOEDJIIBNKF(this.fadeOutTime, true); yield return new WaitForSeconds(this.fadeOutTime); } else if (this.backgroundColor != Color.clear) { if (this.showGrid) { afelbmdlpie.GCFOFEENOHJ(0f, this.backgroundColor.r, this.backgroundColor.g, this.backgroundColor.b, this.backgroundColor.a, true); afelbmdlpie.GOEDJIIBNKF(this.fadeOutTime, true); yield return new WaitForSeconds(this.fadeOutTime); } else { afelbmdlpie.GCFOFEENOHJ(this.fadeOutTime, this.backgroundColor.r, this.backgroundColor.g, this.backgroundColor.b, this.backgroundColor.a, false); yield return new WaitForSeconds(this.fadeOutTime + 0.1f); afelbmdlpie.GOEDJIIBNKF(0f, true); flag = true; } } } SteamVR_Render.MNFDKBGJFKL = true; while (this.ELFEPDAKCDL < 1f) { yield return null; } base.transform.parent = null; global::UnityEngine.Object.DontDestroyOnLoad(base.gameObject); if (!string.IsNullOrEmpty(this.internalProcessPath)) { global::UnityEngine.Debug.Log("Launching external application..."); BJFMBBOBAKB bjfmbbobakb = PONCCGLALMO.LGAOOOAFHJB; if (bjfmbbobakb == null) { global::UnityEngine.Debug.Log("Failed to get OpenVR.Applications interface!"); } else { string currentDirectory = Directory.GetCurrentDirectory(); string text = Path.Combine(currentDirectory, this.internalProcessPath); global::UnityEngine.Debug.Log("LaunchingInternalProcess"); global::UnityEngine.Debug.Log("ExternalAppPath = " + this.internalProcessPath); global::UnityEngine.Debug.Log("FullPath = " + text); global::UnityEngine.Debug.Log("ExternalAppArgs = " + this.internalProcessArgs); global::UnityEngine.Debug.Log("WorkingDirectory = " + currentDirectory); ODNJFBJBBDC odnjfbjbbdc = bjfmbbobakb.KFMDOBDNKCH(text, this.internalProcessArgs, currentDirectory); global::UnityEngine.Debug.Log("LaunchInternalProcessError: " + odnjfbjbbdc); Process.GetCurrentProcess().Kill(); } } else { loadSceneMode = ((!this.loadAdditive) ? LoadSceneMode.Single : LoadSceneMode.Additive); if (this.loadAsync) { Application.backgroundLoadingPriority = ThreadPriority.Low; this.LJAPLMAHBJL = SceneManager.LoadSceneAsync(this.levelName, loadSceneMode); while (!this.LJAPLMAHBJL.isDone) { yield return null; } } else { SceneManager.LoadScene(this.levelName, loadSceneMode); } } yield return null; GC.Collect(); yield return null; Shader.WarmupAllShaders(); yield return new WaitForSeconds(this.postLoadSettleTime); SteamVR_Render.MNFDKBGJFKL = false; if (this.loadingScreenFadeOutTime > 0f) { this.NCNPHDOHLPC = -1f / this.loadingScreenFadeOutTime; } else { this.ELFEPDAKCDL = 0f; } DAGNICICCAN.LHCDNKCHCLA.CKKKGIFDIJJ(this.fadeInTime); if (afelbmdlpie != null) { if (flag) { afelbmdlpie.GOEDJIIBNKF(0f, false); afelbmdlpie.GCFOFEENOHJ(this.fadeInTime, 0f, 0f, 0f, 0f, false); yield return new WaitForSeconds(this.fadeInTime); } else { afelbmdlpie.GOEDJIIBNKF(this.fadeInTime, false); yield return new WaitForSeconds(this.fadeInTime); if (this.front != null) { SteamVR_Skybox.ClearOverride(); } } } while (this.ELFEPDAKCDL > 0f) { yield return null; } if (dchdefckkeh != null) { if (this.BFEIGAENDLN != 0UL) { dchdefckkeh.HEFCMOKPMDP(this.BFEIGAENDLN); } if (this.PNNKNPNIHGC != 0UL) { dchdefckkeh.HEFCMOKPMDP(this.PNNKNPNIHGC); } } global::UnityEngine.Object.Destroy(base.gameObject); SteamVR_LoadLevel.PKBPJLOJKEF = null; DAGNICICCAN.DEKFLBEKMKA.CKKKGIFDIJJ(false); yield break; } // Token: 0x0601070B RID: 67339 RVA: 0x004E7A14 File Offset: 0x004E5C14 private void Update() { if (SteamVR_LoadLevel.PKBPJLOJKEF != this) { return; } this.ELFEPDAKCDL = Mathf.Clamp01(this.ELFEPDAKCDL + this.NCNPHDOHLPC * Time.deltaTime); DCHDEFCKKEH dchdefckkeh = PONCCGLALMO.KEEAFJGCEDM; if (dchdefckkeh != null) { if (this.PNNKNPNIHGC != 0UL) { dchdefckkeh.EJPDNEMGJEE(this.PNNKNPNIHGC, this.ELFEPDAKCDL); } if (this.BFEIGAENDLN != 0UL) { dchdefckkeh.EJPDNEMGJEE(this.BFEIGAENDLN, this.ELFEPDAKCDL); } } } // Token: 0x0601070D RID: 67341 RVA: 0x004E7B10 File Offset: 0x004E5D10 private void MDGPLNDHKCI() { if (SteamVR_LoadLevel.PKBPJLOJKEF != this) { return; } this.ELFEPDAKCDL = Mathf.Clamp01(this.ELFEPDAKCDL + this.NCNPHDOHLPC * Time.deltaTime); DCHDEFCKKEH dchdefckkeh = PONCCGLALMO.PEKFOBIHDFB(); if (dchdefckkeh != null) { if (this.PNNKNPNIHGC != 1UL) { dchdefckkeh.EJPDNEMGJEE(this.PNNKNPNIHGC, this.ELFEPDAKCDL); } if (this.BFEIGAENDLN != 0UL) { dchdefckkeh.CKKKBEBIBPE(this.BFEIGAENDLN, this.ELFEPDAKCDL); } } } // Token: 0x0601070E RID: 67342 RVA: 0x004E7B98 File Offset: 0x004E5D98 private IEnumerator KBPGDNLOIIH() { if (this.loadingScreen != null && this.loadingScreenDistance > 0f) { oopoglbnjpf = PNLCMOFOFOH.KHOLKDHABII(0); while (!oopoglbnjpf.AFKJHFLFEEC) { yield return null; } rigidTransform = oopoglbnjpf.DKCNBKFJCLK; rigidTransform.rot = Quaternion.Euler(0f, rigidTransform.rot.eulerAngles.y, 0f); rigidTransform.pos += rigidTransform.rot * new Vector3(0f, 0f, this.loadingScreenDistance); transform = ((!(this.loadingScreenTransform != null)) ? base.transform : this.loadingScreenTransform); transform.position = rigidTransform.pos; transform.rotation = rigidTransform.rot; } SteamVR_LoadLevel.PKBPJLOJKEF = this; DAGNICICCAN.DEKFLBEKMKA.CKKKGIFDIJJ(true); if (this.loadingScreenFadeInTime > 0f) { this.NCNPHDOHLPC = 1f / this.loadingScreenFadeInTime; } else { this.ELFEPDAKCDL = 1f; } dchdefckkeh = PONCCGLALMO.KEEAFJGCEDM; if (this.loadingScreen != null && dchdefckkeh != null) { this.PNNKNPNIHGC = this.PDOKJOGAFIG("loadingScreen", (!(this.loadingScreenTransform != null)) ? base.transform : this.loadingScreenTransform, this.loadingScreenWidthInMeters); if (this.PNNKNPNIHGC != 0UL) { NDCAPNBHFGH ndcapnbhfgh = default(NDCAPNBHFGH); ndcapnbhfgh.IEPIMIDPDFF = this.loadingScreen.GetNativeTexturePtr(); ndcapnbhfgh.CIFAEGAFAGF = GOMKCPFBJFL.FCDPFLMFDBC.FHAGINHNPGK; ndcapnbhfgh.DFEBDLOGJPK = EOPGPPPLFHO.Auto; dchdefckkeh.NCDMNPICKIE(this.PNNKNPNIHGC, ref ndcapnbhfgh); } } flag = false; DAGNICICCAN.MGJHLHIGHBA.CKKKGIFDIJJ(this.fadeOutTime); afelbmdlpie = PONCCGLALMO.GCFINLENMEI; if (afelbmdlpie != null) { if (this.front != null) { SteamVR_Skybox.SetOverride(this.front, this.back, this.left, this.right, this.top, this.bottom); afelbmdlpie.GOEDJIIBNKF(this.fadeOutTime, true); yield return new WaitForSeconds(this.fadeOutTime); } else if (this.backgroundColor != Color.clear) { if (this.showGrid) { afelbmdlpie.GCFOFEENOHJ(0f, this.backgroundColor.r, this.backgroundColor.g, this.backgroundColor.b, this.backgroundColor.a, true); afelbmdlpie.GOEDJIIBNKF(this.fadeOutTime, true); yield return new WaitForSeconds(this.fadeOutTime); } else { afelbmdlpie.GCFOFEENOHJ(this.fadeOutTime, this.backgroundColor.r, this.backgroundColor.g, this.backgroundColor.b, this.backgroundColor.a, false); yield return new WaitForSeconds(this.fadeOutTime + 0.1f); afelbmdlpie.GOEDJIIBNKF(0f, true); flag = true; } } } SteamVR_Render.MNFDKBGJFKL = true; while (this.ELFEPDAKCDL < 1f) { yield return null; } base.transform.parent = null; global::UnityEngine.Object.DontDestroyOnLoad(base.gameObject); if (!string.IsNullOrEmpty(this.internalProcessPath)) { global::UnityEngine.Debug.Log("Launching external application..."); BJFMBBOBAKB bjfmbbobakb = PONCCGLALMO.LGAOOOAFHJB; if (bjfmbbobakb == null) { global::UnityEngine.Debug.Log("Failed to get OpenVR.Applications interface!"); } else { string currentDirectory = Directory.GetCurrentDirectory(); string text = Path.Combine(currentDirectory, this.internalProcessPath); global::UnityEngine.Debug.Log("LaunchingInternalProcess"); global::UnityEngine.Debug.Log("ExternalAppPath = " + this.internalProcessPath); global::UnityEngine.Debug.Log("FullPath = " + text); global::UnityEngine.Debug.Log("ExternalAppArgs = " + this.internalProcessArgs); global::UnityEngine.Debug.Log("WorkingDirectory = " + currentDirectory); ODNJFBJBBDC odnjfbjbbdc = bjfmbbobakb.KFMDOBDNKCH(text, this.internalProcessArgs, currentDirectory); global::UnityEngine.Debug.Log("LaunchInternalProcessError: " + odnjfbjbbdc); Process.GetCurrentProcess().Kill(); } } else { loadSceneMode = ((!this.loadAdditive) ? LoadSceneMode.Single : LoadSceneMode.Additive); if (this.loadAsync) { Application.backgroundLoadingPriority = ThreadPriority.Low; this.LJAPLMAHBJL = SceneManager.LoadSceneAsync(this.levelName, loadSceneMode); while (!this.LJAPLMAHBJL.isDone) { yield return null; } } else { SceneManager.LoadScene(this.levelName, loadSceneMode); } } yield return null; GC.Collect(); yield return null; Shader.WarmupAllShaders(); yield return new WaitForSeconds(this.postLoadSettleTime); SteamVR_Render.MNFDKBGJFKL = false; if (this.loadingScreenFadeOutTime > 0f) { this.NCNPHDOHLPC = -1f / this.loadingScreenFadeOutTime; } else { this.ELFEPDAKCDL = 0f; } DAGNICICCAN.LHCDNKCHCLA.CKKKGIFDIJJ(this.fadeInTime); if (afelbmdlpie != null) { if (flag) { afelbmdlpie.GOEDJIIBNKF(0f, false); afelbmdlpie.GCFOFEENOHJ(this.fadeInTime, 0f, 0f, 0f, 0f, false); yield return new WaitForSeconds(this.fadeInTime); } else { afelbmdlpie.GOEDJIIBNKF(this.fadeInTime, false); yield return new WaitForSeconds(this.fadeInTime); if (this.front != null) { SteamVR_Skybox.ClearOverride(); } } } while (this.ELFEPDAKCDL > 0f) { yield return null; } if (dchdefckkeh != null) { if (this.BFEIGAENDLN != 0UL) { dchdefckkeh.HEFCMOKPMDP(this.BFEIGAENDLN); } if (this.PNNKNPNIHGC != 0UL) { dchdefckkeh.HEFCMOKPMDP(this.PNNKNPNIHGC); } } global::UnityEngine.Object.Destroy(base.gameObject); SteamVR_LoadLevel.PKBPJLOJKEF = null; DAGNICICCAN.DEKFLBEKMKA.CKKKGIFDIJJ(false); yield break; } // Token: 0x04002A37 RID: 10807 private static SteamVR_LoadLevel PKBPJLOJKEF; // Token: 0x04002A38 RID: 10808 public string levelName; // Token: 0x04002A39 RID: 10809 public string internalProcessPath; // Token: 0x04002A3A RID: 10810 public string internalProcessArgs; // Token: 0x04002A3B RID: 10811 public bool loadAdditive; // Token: 0x04002A3C RID: 10812 public bool loadAsync = true; // Token: 0x04002A3D RID: 10813 public Texture loadingScreen; // Token: 0x04002A3E RID: 10814 public Texture progressBarEmpty; // Token: 0x04002A3F RID: 10815 public Texture progressBarFull; // Token: 0x04002A40 RID: 10816 public float loadingScreenWidthInMeters = 6f; // Token: 0x04002A41 RID: 10817 public float progressBarWidthInMeters = 3f; // Token: 0x04002A42 RID: 10818 public float loadingScreenDistance; // Token: 0x04002A43 RID: 10819 public Transform loadingScreenTransform; // Token: 0x04002A44 RID: 10820 public Transform progressBarTransform; // Token: 0x04002A45 RID: 10821 public Texture front; // Token: 0x04002A46 RID: 10822 public Texture back; // Token: 0x04002A47 RID: 10823 public Texture left; // Token: 0x04002A48 RID: 10824 public Texture right; // Token: 0x04002A49 RID: 10825 public Texture top; // Token: 0x04002A4A RID: 10826 public Texture bottom; // Token: 0x04002A4B RID: 10827 public Color backgroundColor = Color.black; // Token: 0x04002A4C RID: 10828 public bool showGrid; // Token: 0x04002A4D RID: 10829 public float fadeOutTime = 0.5f; // Token: 0x04002A4E RID: 10830 public float fadeInTime = 0.5f; // Token: 0x04002A4F RID: 10831 public float postLoadSettleTime; // Token: 0x04002A50 RID: 10832 public float loadingScreenFadeInTime = 1f; // Token: 0x04002A51 RID: 10833 public float loadingScreenFadeOutTime = 0.25f; // Token: 0x04002A52 RID: 10834 private float NCNPHDOHLPC = 1f; // Token: 0x04002A53 RID: 10835 private float ELFEPDAKCDL; // Token: 0x04002A54 RID: 10836 private AsyncOperation LJAPLMAHBJL; // Token: 0x04002A55 RID: 10837 private RenderTexture ANHNNLOIDPF; // Token: 0x04002A56 RID: 10838 private ulong PNNKNPNIHGC; // Token: 0x04002A57 RID: 10839 private ulong BFEIGAENDLN; // Token: 0x04002A58 RID: 10840 public bool autoTriggerOnEnable; }