using System; using System.Collections.Generic; using AGUI.StackedUI; using Cpp2IlInjected; using RecRoom; using RecRoom.Core.UI; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.Rendering; using UnityEngine.Rendering.Universal; using UnityEngine.UI; // Token: 0x02000584 RID: 1412 [Token(Token = "0x2000584")] public class CachedViewManager : MonoBehaviour { // Token: 0x17000789 RID: 1929 // (get) Token: 0x06002A5C RID: 10844 RVA: 0x000ACA4C File Offset: 0x000AAC4C [Token(Token = "0x17000789")] private static Material MEABCDIFJPC { [Token(Token = "0x6002A5C")] [Address(RVA = "0xB7C930", Offset = "0xB7B730", VA = "0x180B7C930")] get { Material pdcimkkobod = CachedViewManager.PDCIMKKOBOD; int num = 0; if (pdcimkkobod == num) { CachedViewManager.PDCIMKKOBOD = Resources.Load(CachedViewManager.HJHDOIFODNO); } return CachedViewManager.PDCIMKKOBOD; } } // Token: 0x06002A5D RID: 10845 RVA: 0x000ACA80 File Offset: 0x000AAC80 [Token(Token = "0x6002A5D")] [Address(RVA = "0xB7B7B0", Offset = "0xB7A5B0", VA = "0x180B7B7B0")] public static CachedViewManager Get(string CKEBCMEKCJH) { Dictionary amlfllbokio = CachedViewManager.AMLFLLBOKIO; bool flag; if (!flag) { float activeRenderScale = UniversalRenderPipeline.ActiveRenderScale; if (KNMNINOPCAI.k__BackingField == NDGAFBPFAMI.UNSUPPORTED) { } CachedViewManager cachedViewManager = new GameObject(string.Format("CachedViewManager (\"{0}\")", CKEBCMEKCJH)).AddComponent(); cachedViewManager.CKEBCMEKCJH = CKEBCMEKCJH; RenderTexture renderTexture; renderTexture.name = "CachedViewManager_Shared"; renderTexture.filterMode = FilterMode.Bilinear; renderTexture.anisoLevel = 4; int num = 0; renderTexture.autoGenerateMips = num != 0; int num2 = 0; renderTexture.useMipMap = num2 != 0; uint num3; renderTexture.antiAliasing = (int)num3; cachedViewManager.KHEHLADAOMN = renderTexture; Material pdcimkkobod = CachedViewManager.PDCIMKKOBOD; int num4 = 0; if (pdcimkkobod == num4) { CachedViewManager.PDCIMKKOBOD = Resources.Load(CachedViewManager.HJHDOIFODNO); } Material material = new Material(CachedViewManager.PDCIMKKOBOD); cachedViewManager.KDNJGHJOJFK = material; Material kdnjghjojfk = cachedViewManager.KDNJGHJOJFK; RenderTexture khehladaomn = cachedViewManager.KHEHLADAOMN; kdnjghjojfk.mainTexture = khehladaomn; CachedViewManager.AMLFLLBOKIO.Add(CKEBCMEKCJH, cachedViewManager); GameObject ndcbgikgfna = CachedViewManager.NDCBGIKGFNA; int num5 = 0; if (ndcbgikgfna == num5) { CachedViewManager.NDCBGIKGFNA = new GameObject("CachedView Primary Objects"); } Transform transform = cachedViewManager.transform; Transform transform2 = CachedViewManager.NDCBGIKGFNA.transform; transform.parentInternal = transform2; } throw new NullReferenceException(); } // Token: 0x1700078A RID: 1930 // (get) Token: 0x06002A5E RID: 10846 RVA: 0x000ACBB8 File Offset: 0x000AADB8 [Token(Token = "0x1700078A")] public Canvas NIANNDDNKOC { [Token(Token = "0x6002A5E")] [Address(RVA = "0x3FA180", Offset = "0x3F8F80", VA = "0x1803FA180")] get { return this.AILMDFFHDOD; } } // Token: 0x1700078B RID: 1931 // (get) Token: 0x06002A5F RID: 10847 RVA: 0x000ACBCC File Offset: 0x000AADCC [Token(Token = "0x1700078B")] public ImposterGraphicRaycaster CKMLDFDKKEA { [Token(Token = "0x6002A5F")] [Address(RVA = "0x3F63D0", Offset = "0x3F51D0", VA = "0x1803F63D0")] get { return this.MOFAMFELPPE; } } // Token: 0x1700078C RID: 1932 // (get) Token: 0x06002A60 RID: 10848 RVA: 0x000ACBE0 File Offset: 0x000AADE0 [Token(Token = "0x1700078C")] public Camera EOBIMFMKAOM { [Token(Token = "0x6002A60")] [Address(RVA = "0x408890", Offset = "0x407690", VA = "0x180408890")] get { return this.MADEGAOCJIB; } } // Token: 0x06002A61 RID: 10849 RVA: 0x000ACBF4 File Offset: 0x000AADF4 [Token(Token = "0x6002A61")] [Address(RVA = "0xB7C7E0", Offset = "0xB7B5E0", VA = "0x180B7C7E0")] private void OnDestroy() { Camera madegaocjib = this.MADEGAOCJIB; int num = 0; if (madegaocjib != num) { Camera madegaocjib2 = this.MADEGAOCJIB; int num2 = 0; madegaocjib2.targetTexture = num2; } RenderTexture khehladaomn = this.KHEHLADAOMN; int num3 = 0; if (khehladaomn != num3) { this.KHEHLADAOMN.Release(); global::UnityEngine.Object.DestroyImmediate(this.KHEHLADAOMN); this.KHEHLADAOMN = (ulong)0L; } Dictionary amlfllbokio = CachedViewManager.AMLFLLBOKIO; string ckebcmekcjh = this.CKEBCMEKCJH; bool flag = amlfllbokio.Remove(ckebcmekcjh); } // Token: 0x06002A62 RID: 10850 RVA: 0x000ACC7C File Offset: 0x000AAE7C [Token(Token = "0x6002A62")] [Address(RVA = "0xB7B740", Offset = "0xB7A540", VA = "0x180B7B740")] public void AddView(CachedView DNGNGFFGPNL) { GameObject gameObject = this.OKMCCPLCPFD(DNGNGFFGPNL); this.EFFBCAONHNB.Add(gameObject); } // Token: 0x06002A63 RID: 10851 RVA: 0x000ACCA4 File Offset: 0x000AAEA4 [Token(Token = "0x6002A63")] [Address(RVA = "0xB7CA40", Offset = "0xB7B840", VA = "0x180B7CA40")] public void RemoveImposter(GameObject LLEMJAJMBOI) { bool flag = this.EFFBCAONHNB.Remove(LLEMJAJMBOI); } // Token: 0x06002A64 RID: 10852 RVA: 0x000ACCC4 File Offset: 0x000AAEC4 [Token(Token = "0x6002A64")] [Address(RVA = "0x75D530", Offset = "0x75C330", VA = "0x18075D530")] public void MarkForRender() { this.COAGIBJBOID = true; } // Token: 0x06002A65 RID: 10853 RVA: 0x000ACCD8 File Offset: 0x000AAED8 [Token(Token = "0x6002A65")] [Address(RVA = "0xB7CAA0", Offset = "0xB7B8A0", VA = "0x180B7CAA0")] public void Update() { Camera madegaocjib; for (;;) { madegaocjib = this.MADEGAOCJIB; int num = 0; bool flag = madegaocjib == num; if (flag) { return; } if (this.COAGIBJBOID != flag) { break; } int num2 = 0; madegaocjib.enabled = num2 != 0; if (Time.timeSinceLevelLoad > 5f) { return; } } float timeSinceLevelLoad = Time.timeSinceLevelLoad; GameObject lbaeahmakgg = this.LBAEAHMAKGG; this.DFKBCGIJNOA = timeSinceLevelLoad; lbaeahmakgg.SetActive(true); Dictionary.ValueCollection values = CachedViewManager.AMLFLLBOKIO.Values; int frameCount = Time.frameCount; int count = values.Count; CachedViewManager cachedViewManager; bool flag2 = cachedViewManager != this; Camera madegaocjib2 = this.MADEGAOCJIB; if (flag2) { int num3 = 0; madegaocjib.enabled = num3 != 0; return; } float aspect = madegaocjib2.aspect; if (madegaocjib2 == 0) { Camera madegaocjib3 = this.MADEGAOCJIB; float orthographicSize = madegaocjib3.orthographicSize; if (madegaocjib3 == 0) { goto IL_D5; } } Camera madegaocjib4 = this.MADEGAOCJIB; float iimbiodngjn = this.IIMBIODNGJN; madegaocjib4.aspect = iimbiodngjn; Camera madegaocjib5 = this.MADEGAOCJIB; float gobhbedfcml = this.GOBHBEDFCML; madegaocjib5.orthographicSize = gobhbedfcml; IL_D5: this.MADEGAOCJIB.enabled = true; this.COAGIBJBOID = false; } // Token: 0x06002A66 RID: 10854 RVA: 0x000ACE00 File Offset: 0x000AB000 [Token(Token = "0x6002A66")] [Address(RVA = "0xB7BCF0", Offset = "0xB7AAF0", VA = "0x180B7BCF0")] private GameObject OKMCCPLCPFD(CachedView DNGNGFFGPNL) { GameObject gameObject; MeshFilter meshFilter; Vector3[] array; for (;;) { Transform parent = DNGNGFFGPNL.transform.parent; string ckebcmekcjh = this.CKEBCMEKCJH; gameObject = new GameObject(string.Format("CachedView Imposter ({0})", ckebcmekcjh)); gameObject.NHCPFEKJPIA(DAJFOCGPHGP.UI); Transform transform = DNGNGFFGPNL.transform; Transform transform2 = base.transform; int num = 0; transform.SetParent(transform2, num != 0); Transform transform3 = gameObject.transform; int num2 = 0; transform3.SetParent(parent, num2 != 0); Canvas canvas = gameObject.AddComponent(); CanvasScaler canvasScaler = gameObject.AddComponent(); Material material = gameObject.AddComponent().material; gameObject.AddComponent().ImposterViewManager = this; Transform transform4 = gameObject.transform; Transform transform5 = DNGNGFFGPNL.transform; Transform transform6 = gameObject.transform; Transform transform7 = DNGNGFFGPNL.transform; Transform transform8 = gameObject.transform; Transform transform9 = DNGNGFFGPNL.transform; Transform transform10 = gameObject.transform; if (DNGNGFFGPNL.transform != 0 && transform10 != 0) { CachedViewImposterCollider cachedViewImposterCollider = gameObject.AddComponent(); meshFilter = gameObject.AddComponent(); array = new Vector3[4]; Transform transform11 = canvas.transform; if (transform11 != 0) { break; } } } meshFilter.mesh = new Mesh { name = "CachedViewManager_VisibilityQuad", vertices = array }; MeshRenderer meshRenderer = gameObject.AddComponent(); int num3 = 0; meshRenderer.lightProbeUsage = (LightProbeUsage)num3; int num4 = 0; meshRenderer.reflectionProbeUsage = (ReflectionProbeUsage)num4; int num5 = 0; meshRenderer.shadowCastingMode = (ShadowCastingMode)num5; meshRenderer.motionVectorGenerationMode = MotionVectorGenerationMode.ForceNoMotion; int num6 = 0; meshRenderer.receiveShadows = num6 != 0; Canvas ailmdffhdod = this.AILMDFFHDOD; int num7 = 0; bool flag = ailmdffhdod == num7; GameObject gameObject2 = DNGNGFFGPNL.gameObject; if (!flag) { global::UnityEngine.Object.Destroy(gameObject2); } this.LBAEAHMAKGG = gameObject2; global::UnityEngine.Object.Destroy(DNGNGFFGPNL); Canvas component = this.LBAEAHMAKGG.GetComponent(); this.AILMDFFHDOD = component; Camera worldCamera = component.worldCamera; int num8 = 0; if (worldCamera == num8) { UIInputModule instance = UIInputModule.Instance; Canvas ailmdffhdod2 = this.AILMDFFHDOD; Camera k__BackingField = instance.k__BackingField; ailmdffhdod2.worldCamera = k__BackingField; } BaseRaycaster component2 = this.LBAEAHMAKGG.gameObject.GetComponent(); int num9 = 0; if (component2 != num9) { global::UnityEngine.Object.Destroy(component2); } ImposterGraphicRaycaster imposterGraphicRaycaster = this.LBAEAHMAKGG.AddComponent(); this.MOFAMFELPPE = imposterGraphicRaycaster; imposterGraphicRaycaster.ignoresAllInput = true; this.LBAEAHMAKGG.IBAICLIPHDI(DAJFOCGPHGP.UI, DAJFOCGPHGP.CachedView); Canvas ailmdffhdod3 = this.AILMDFFHDOD; Vector3 vector; float z = vector.z; Vector3 vector2; float z2 = vector2.z; GameObject lbaeahmakgg = this.LBAEAHMAKGG; int num10 = 0; lbaeahmakgg.transform.position = num10; Transform transform12 = this.LBAEAHMAKGG.transform; int num11 = 0; Quaternion identity = Quaternion.identity; transform12.rotation = num11; string ckebcmekcjh2 = this.CKEBCMEKCJH; GameObject gameObject3 = new GameObject(string.Format("CachedView Camera ({0})", ckebcmekcjh2)); this.EFACHFECFCP = gameObject3; Transform transform13 = gameObject3.transform; Transform transform14 = this.LBAEAHMAKGG.transform; int num12 = 0; transform13.SetParent(transform14, num12 != 0); Camera camera = this.EFACHFECFCP.AddComponent(); this.MADEGAOCJIB = camera; camera.clearFlags = CameraClearFlags.Color; Camera madegaocjib = this.MADEGAOCJIB; this.MADEGAOCJIB.cullingMask = int.MinValue; this.MADEGAOCJIB.renderingPath = RenderingPath.Forward; Camera madegaocjib2 = this.MADEGAOCJIB; int num13 = 0; madegaocjib2.useOcclusionCulling = num13 != 0; Camera madegaocjib3 = this.MADEGAOCJIB; int num14 = 0; madegaocjib3.allowHDR = num14 != 0; Camera madegaocjib4 = this.MADEGAOCJIB; int num15 = 0; madegaocjib4.allowMSAA = num15 != 0; Camera madegaocjib5 = this.MADEGAOCJIB; int num16 = 0; madegaocjib5.stereoTargetEye = (StereoTargetEyeMask)num16; Camera madegaocjib6 = this.MADEGAOCJIB; RenderTexture khehladaomn = this.KHEHLADAOMN; madegaocjib6.targetTexture = khehladaomn; this.MADEGAOCJIB.orthographic = true; this.MADEGAOCJIB.GetOrCreateAdditionalCameraData().k__BackingField = true; Canvas ailmdffhdod4 = this.AILMDFFHDOD; KIFFHLOFBHD.LJANPOGDMDI(this.MADEGAOCJIB, ailmdffhdod4); float orthographicSize = this.MADEGAOCJIB.orthographicSize; Camera madegaocjib7 = this.MADEGAOCJIB; this.GOBHBEDFCML = orthographicSize; float aspect = madegaocjib7.aspect; this.IIMBIODNGJN = aspect; return gameObject; } // Token: 0x06002A67 RID: 10855 RVA: 0x000AD200 File Offset: 0x000AB400 [Token(Token = "0x6002A67")] [Address(RVA = "0xB7CDD0", Offset = "0xB7BBD0", VA = "0x180B7CDD0")] public CachedViewManager() { List list = new List(); this.EFFBCAONHNB = list; base..ctor(); } // Token: 0x06002A68 RID: 10856 RVA: 0x000AD220 File Offset: 0x000AB420 // Note: this type is marked as 'beforefieldinit'. [Token(Token = "0x6002A68")] [Address(RVA = "0xB7CD00", Offset = "0xB7BB00", VA = "0x180B7CD00")] static CachedViewManager() { float z = Vector3.zero.z; } // Token: 0x04002202 RID: 8706 [Token(Token = "0x4002202")] private static readonly string HJHDOIFODNO = "legacy_CachedView_mat"; // Token: 0x04002203 RID: 8707 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4002203")] private string CKEBCMEKCJH; // Token: 0x04002204 RID: 8708 [Token(Token = "0x4002204")] private static Material PDCIMKKOBOD; // Token: 0x04002205 RID: 8709 [Token(Token = "0x4002205")] private static Dictionary AMLFLLBOKIO = new Dictionary(); // Token: 0x04002206 RID: 8710 [Token(Token = "0x4002206")] private static Vector3 BPAHDGOOBOO; // Token: 0x04002207 RID: 8711 [Token(Token = "0x4002207")] private static GameObject NDCBGIKGFNA; // Token: 0x04002208 RID: 8712 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4002208")] private GameObject EFACHFECFCP; // Token: 0x04002209 RID: 8713 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4002209")] private GameObject LBAEAHMAKGG; // Token: 0x0400220A RID: 8714 [FieldOffset(Offset = "0x30")] [Token(Token = "0x400220A")] private Canvas AILMDFFHDOD; // Token: 0x0400220B RID: 8715 [FieldOffset(Offset = "0x38")] [Token(Token = "0x400220B")] private ImposterGraphicRaycaster MOFAMFELPPE; // Token: 0x0400220C RID: 8716 [FieldOffset(Offset = "0x40")] [Token(Token = "0x400220C")] private Camera MADEGAOCJIB; // Token: 0x0400220D RID: 8717 [FieldOffset(Offset = "0x48")] [Token(Token = "0x400220D")] public bool SupportsAutoDisable; // Token: 0x0400220E RID: 8718 [FieldOffset(Offset = "0x50")] [Token(Token = "0x400220E")] private List EFFBCAONHNB; // Token: 0x0400220F RID: 8719 [FieldOffset(Offset = "0x58")] [Token(Token = "0x400220F")] private RenderTexture KHEHLADAOMN; // Token: 0x04002210 RID: 8720 [FieldOffset(Offset = "0x60")] [Token(Token = "0x4002210")] private Material KDNJGHJOJFK; // Token: 0x04002211 RID: 8721 [FieldOffset(Offset = "0x68")] [Token(Token = "0x4002211")] private bool COAGIBJBOID; // Token: 0x04002212 RID: 8722 [FieldOffset(Offset = "0x6C")] [Token(Token = "0x4002212")] private float DFKBCGIJNOA; // Token: 0x04002213 RID: 8723 [Token(Token = "0x4002213")] private const float PBAHCKBOIHK = 5f; // Token: 0x04002214 RID: 8724 [FieldOffset(Offset = "0x70")] [Token(Token = "0x4002214")] private float IIMBIODNGJN; // Token: 0x04002215 RID: 8725 [FieldOffset(Offset = "0x74")] [Token(Token = "0x4002215")] private float GOBHBEDFCML; }