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: 0x02000590 RID: 1424 [Token(Token = "0x2000590")] public class CachedViewManager : MonoBehaviour { // Token: 0x17000795 RID: 1941 // (get) Token: 0x06002ADE RID: 10974 RVA: 0x000ADC9C File Offset: 0x000ABE9C [Token(Token = "0x17000795")] private static Material MEABCDIFJPC { [Token(Token = "0x6002ADE")] [Address(RVA = "0x165A6B0", Offset = "0x16596B0", VA = "0x18165A6B0")] get { Material pdcimkkobod = CachedViewManager.PDCIMKKOBOD; int num = 0; if (pdcimkkobod == num) { CachedViewManager.PDCIMKKOBOD = Resources.Load(CachedViewManager.HJHDOIFODNO); } return CachedViewManager.PDCIMKKOBOD; } } // Token: 0x06002ADF RID: 10975 RVA: 0x000ADCD0 File Offset: 0x000ABED0 [Token(Token = "0x6002ADF")] [Address(RVA = "0x1659530", Offset = "0x1658530", VA = "0x181659530")] public static CachedViewManager Get(string CKEBCMEKCJH) { Dictionary amlfllbokio = CachedViewManager.AMLFLLBOKIO; bool flag; if (!flag) { float activeRenderScale = UniversalRenderPipeline.ActiveRenderScale; if (KNMNINOPCAI.k__BackingField == IFAHFKNPFMI.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; Dictionary amlfllbokio2 = CachedViewManager.AMLFLLBOKIO; throw new NullReferenceException(); } throw new NullReferenceException(); } // Token: 0x17000796 RID: 1942 // (get) Token: 0x06002AE0 RID: 10976 RVA: 0x000ADE08 File Offset: 0x000AC008 [Token(Token = "0x17000796")] public Canvas NIANNDDNKOC { [Token(Token = "0x6002AE0")] [Address(RVA = "0x4157E0", Offset = "0x4147E0", VA = "0x1804157E0")] get { return this.AILMDFFHDOD; } } // Token: 0x17000797 RID: 1943 // (get) Token: 0x06002AE1 RID: 10977 RVA: 0x000ADE1C File Offset: 0x000AC01C [Token(Token = "0x17000797")] public ImposterGraphicRaycaster CKMLDFDKKEA { [Token(Token = "0x6002AE1")] [Address(RVA = "0x41CEF0", Offset = "0x41BEF0", VA = "0x18041CEF0")] get { return this.MOFAMFELPPE; } } // Token: 0x17000798 RID: 1944 // (get) Token: 0x06002AE2 RID: 10978 RVA: 0x000ADE30 File Offset: 0x000AC030 [Token(Token = "0x17000798")] public Camera EOBIMFMKAOM { [Token(Token = "0x6002AE2")] [Address(RVA = "0x417680", Offset = "0x416680", VA = "0x180417680")] get { return this.MADEGAOCJIB; } } // Token: 0x06002AE3 RID: 10979 RVA: 0x000ADE44 File Offset: 0x000AC044 [Token(Token = "0x6002AE3")] [Address(RVA = "0x165A560", Offset = "0x1659560", VA = "0x18165A560")] 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: 0x06002AE4 RID: 10980 RVA: 0x000ADECC File Offset: 0x000AC0CC [Token(Token = "0x6002AE4")] [Address(RVA = "0x16594C0", Offset = "0x16584C0", VA = "0x1816594C0")] public void AddView(CachedView DNGNGFFGPNL) { GameObject gameObject = this.OKMCCPLCPFD(DNGNGFFGPNL); this.EFFBCAONHNB.Add(gameObject); } // Token: 0x06002AE5 RID: 10981 RVA: 0x000ADEF4 File Offset: 0x000AC0F4 [Token(Token = "0x6002AE5")] [Address(RVA = "0x165A7C0", Offset = "0x16597C0", VA = "0x18165A7C0")] public void RemoveImposter(GameObject LLEMJAJMBOI) { bool flag = this.EFFBCAONHNB.Remove(LLEMJAJMBOI); } // Token: 0x06002AE6 RID: 10982 RVA: 0x000ADF14 File Offset: 0x000AC114 [Token(Token = "0x6002AE6")] [Address(RVA = "0x12CCAC0", Offset = "0x12CBAC0", VA = "0x1812CCAC0")] public void MarkForRender() { this.COAGIBJBOID = true; } // Token: 0x06002AE7 RID: 10983 RVA: 0x000ADF28 File Offset: 0x000AC128 [Token(Token = "0x6002AE7")] [Address(RVA = "0x165A820", Offset = "0x1659820", VA = "0x18165A820")] 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: 0x06002AE8 RID: 10984 RVA: 0x000AE050 File Offset: 0x000AC250 [Token(Token = "0x6002AE8")] [Address(RVA = "0x1659A70", Offset = "0x1658A70", VA = "0x181659A70")] 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: 0x06002AE9 RID: 10985 RVA: 0x000AE450 File Offset: 0x000AC650 [Token(Token = "0x6002AE9")] [Address(RVA = "0x165AB50", Offset = "0x1659B50", VA = "0x18165AB50")] public CachedViewManager() { List list = new List(); this.EFFBCAONHNB = list; base..ctor(); } // Token: 0x06002AEA RID: 10986 RVA: 0x000AE470 File Offset: 0x000AC670 // Note: this type is marked as 'beforefieldinit'. [Token(Token = "0x6002AEA")] [Address(RVA = "0x165AA80", Offset = "0x1659A80", VA = "0x18165AA80")] static CachedViewManager() { float z = Vector3.zero.z; } // Token: 0x04002263 RID: 8803 [Token(Token = "0x4002263")] private static readonly string HJHDOIFODNO = "legacy_CachedView_mat"; // Token: 0x04002264 RID: 8804 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4002264")] private string CKEBCMEKCJH; // Token: 0x04002265 RID: 8805 [Token(Token = "0x4002265")] private static Material PDCIMKKOBOD; // Token: 0x04002266 RID: 8806 [Token(Token = "0x4002266")] private static Dictionary AMLFLLBOKIO = new Dictionary(); // Token: 0x04002267 RID: 8807 [Token(Token = "0x4002267")] private static Vector3 BPAHDGOOBOO; // Token: 0x04002268 RID: 8808 [Token(Token = "0x4002268")] private static GameObject NDCBGIKGFNA; // Token: 0x04002269 RID: 8809 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4002269")] private GameObject EFACHFECFCP; // Token: 0x0400226A RID: 8810 [FieldOffset(Offset = "0x28")] [Token(Token = "0x400226A")] private GameObject LBAEAHMAKGG; // Token: 0x0400226B RID: 8811 [FieldOffset(Offset = "0x30")] [Token(Token = "0x400226B")] private Canvas AILMDFFHDOD; // Token: 0x0400226C RID: 8812 [FieldOffset(Offset = "0x38")] [Token(Token = "0x400226C")] private ImposterGraphicRaycaster MOFAMFELPPE; // Token: 0x0400226D RID: 8813 [FieldOffset(Offset = "0x40")] [Token(Token = "0x400226D")] private Camera MADEGAOCJIB; // Token: 0x0400226E RID: 8814 [FieldOffset(Offset = "0x48")] [Token(Token = "0x400226E")] public bool SupportsAutoDisable; // Token: 0x0400226F RID: 8815 [FieldOffset(Offset = "0x50")] [Token(Token = "0x400226F")] private List EFFBCAONHNB; // Token: 0x04002270 RID: 8816 [FieldOffset(Offset = "0x58")] [Token(Token = "0x4002270")] private RenderTexture KHEHLADAOMN; // Token: 0x04002271 RID: 8817 [FieldOffset(Offset = "0x60")] [Token(Token = "0x4002271")] private Material KDNJGHJOJFK; // Token: 0x04002272 RID: 8818 [FieldOffset(Offset = "0x68")] [Token(Token = "0x4002272")] private bool COAGIBJBOID; // Token: 0x04002273 RID: 8819 [FieldOffset(Offset = "0x6C")] [Token(Token = "0x4002273")] private float DFKBCGIJNOA; // Token: 0x04002274 RID: 8820 [Token(Token = "0x4002274")] private const float PBAHCKBOIHK = 5f; // Token: 0x04002275 RID: 8821 [FieldOffset(Offset = "0x70")] [Token(Token = "0x4002275")] private float IIMBIODNGJN; // Token: 0x04002276 RID: 8822 [FieldOffset(Offset = "0x74")] [Token(Token = "0x4002276")] private float GOBHBEDFCML; }