Files
2026-04-08 23:40:05 +02:00

489 lines
16 KiB
C#

using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
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")]
[StructLayout(3)]
public class CachedViewManager : MonoBehaviour
{
// Token: 0x170007A9 RID: 1961
// (get) Token: 0x06002A85 RID: 10885 RVA: 0x000B08E8 File Offset: 0x000AEAE8
[Token(Token = "0x170007A9")]
private static Material MEABCDIFJPC
{
[Token(Token = "0x6002A85")]
[Address(RVA = "0x1376140", Offset = "0x1374B40", VA = "0x181376140")]
get
{
Material pdcimkkobod = CachedViewManager.PDCIMKKOBOD;
int num = 0;
if (pdcimkkobod == num)
{
CachedViewManager.PDCIMKKOBOD = Resources.Load<Material>(CachedViewManager.HJHDOIFODNO);
}
return CachedViewManager.PDCIMKKOBOD;
}
}
// Token: 0x06002A86 RID: 10886 RVA: 0x000B091C File Offset: 0x000AEB1C
[Token(Token = "0x6002A86")]
[Address(RVA = "0x1375060", Offset = "0x1373A60", VA = "0x181375060")]
public static CachedViewManager Get(string CKEBCMEKCJH)
{
Dictionary<string, CachedViewManager> amlfllbokio = CachedViewManager.AMLFLLBOKIO;
bool flag;
if (!flag)
{
float activeRenderScale = UniversalRenderPipeline.ActiveRenderScale;
if (KNMNINOPCAI.<FCMMPKOHAJJ>k__BackingField == NDGAFBPFAMI.UNSUPPORTED)
{
}
CachedViewManager cachedViewManager = new GameObject(string.Format("CachedViewManager (\"{0}\")", CKEBCMEKCJH)).AddComponent<CachedViewManager>();
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<Material>(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 Master Objects");
}
Transform transform = cachedViewManager.transform;
Transform transform2 = CachedViewManager.NDCBGIKGFNA.transform;
transform.parentInternal = transform2;
}
throw new NullReferenceException();
}
// Token: 0x170007AA RID: 1962
// (get) Token: 0x06002A87 RID: 10887 RVA: 0x000B0A54 File Offset: 0x000AEC54
[Token(Token = "0x170007AA")]
public Canvas HICIBKCICMH
{
[Token(Token = "0x6002A87")]
[Address(RVA = "0x3C1250", Offset = "0x3BFC50", VA = "0x1803C1250")]
get
{
return this.ENFECKDMKEJ;
}
}
// Token: 0x170007AB RID: 1963
// (get) Token: 0x06002A88 RID: 10888 RVA: 0x000B0A68 File Offset: 0x000AEC68
[Token(Token = "0x170007AB")]
public ImposterGraphicRaycaster DHCGLGBDCHO
{
[Token(Token = "0x6002A88")]
[Address(RVA = "0x3EE8E0", Offset = "0x3ED2E0", VA = "0x1803EE8E0")]
get
{
return this.HBFAAIIJMAK;
}
}
// Token: 0x170007AC RID: 1964
// (get) Token: 0x06002A89 RID: 10889 RVA: 0x000B0A7C File Offset: 0x000AEC7C
[Token(Token = "0x170007AC")]
public Camera CEJINGNOIIG
{
[Token(Token = "0x6002A89")]
[Address(RVA = "0x3D32F0", Offset = "0x3D1CF0", VA = "0x1803D32F0")]
get
{
return this.PLMJOEINOJL;
}
}
// Token: 0x06002A8A RID: 10890 RVA: 0x000B0A90 File Offset: 0x000AEC90
[Token(Token = "0x6002A8A")]
[Address(RVA = "0x1376040", Offset = "0x1374A40", VA = "0x181376040")]
private void OnDestroy()
{
RenderTexture khehladaomn = this.KHEHLADAOMN;
int num = 0;
if (khehladaomn != num)
{
this.KHEHLADAOMN.Release();
global::UnityEngine.Object.DestroyImmediate(this.KHEHLADAOMN);
this.KHEHLADAOMN = (ulong)0L;
}
Dictionary<string, CachedViewManager> amlfllbokio = CachedViewManager.AMLFLLBOKIO;
string ckebcmekcjh = this.CKEBCMEKCJH;
bool flag = amlfllbokio.Remove(ckebcmekcjh);
}
// Token: 0x06002A8B RID: 10891 RVA: 0x000B0AEC File Offset: 0x000AECEC
[Token(Token = "0x6002A8B")]
[Address(RVA = "0x1374FF0", Offset = "0x13739F0", VA = "0x181374FF0")]
public void AddView(CachedView DNGNGFFGPNL)
{
GameObject gameObject = this.OKMCCPLCPFD(DNGNGFFGPNL);
this.EFFBCAONHNB.Add(gameObject);
}
// Token: 0x06002A8C RID: 10892 RVA: 0x000B0B14 File Offset: 0x000AED14
[Token(Token = "0x6002A8C")]
[Address(RVA = "0x1376250", Offset = "0x1374C50", VA = "0x181376250")]
public void RemoveImposter(GameObject LLEMJAJMBOI)
{
bool flag = this.EFFBCAONHNB.Remove(LLEMJAJMBOI);
}
// Token: 0x06002A8D RID: 10893 RVA: 0x000B0B34 File Offset: 0x000AED34
[Token(Token = "0x6002A8D")]
[Address(RVA = "0x10235D0", Offset = "0x1021FD0", VA = "0x1810235D0")]
public void MarkForRender()
{
this.COAGIBJBOID = true;
}
// Token: 0x06002A8E RID: 10894 RVA: 0x000B0B48 File Offset: 0x000AED48
[Token(Token = "0x6002A8E")]
[Address(RVA = "0x13762B0", Offset = "0x1374CB0", VA = "0x1813762B0")]
public void Update()
{
Camera plmjoeinojl;
for (;;)
{
plmjoeinojl = this.PLMJOEINOJL;
int num = 0;
bool flag = plmjoeinojl == num;
if (flag)
{
return;
}
if (this.COAGIBJBOID != flag)
{
break;
}
int num2 = 0;
plmjoeinojl.enabled = num2 != 0;
if (Time.timeSinceLevelLoad > 5f)
{
return;
}
}
float timeSinceLevelLoad = Time.timeSinceLevelLoad;
GameObject fbdcenmhmga = this.FBDCENMHMGA;
this.DFKBCGIJNOA = timeSinceLevelLoad;
fbdcenmhmga.SetActive(true);
Dictionary<string, CachedViewManager>.ValueCollection values = CachedViewManager.AMLFLLBOKIO.Values;
int frameCount = Time.frameCount;
int count = values.Count;
CachedViewManager cachedViewManager;
bool flag2 = cachedViewManager != this;
Camera plmjoeinojl2 = this.PLMJOEINOJL;
if (flag2)
{
int num3 = 0;
plmjoeinojl.enabled = num3 != 0;
return;
}
float aspect = plmjoeinojl2.aspect;
if (plmjoeinojl2 == 0)
{
Camera plmjoeinojl3 = this.PLMJOEINOJL;
float orthographicSize = plmjoeinojl3.orthographicSize;
if (plmjoeinojl3 == 0)
{
goto IL_D5;
}
}
Camera plmjoeinojl4 = this.PLMJOEINOJL;
float iimbiodngjn = this.IIMBIODNGJN;
plmjoeinojl4.aspect = iimbiodngjn;
Camera plmjoeinojl5 = this.PLMJOEINOJL;
float gobhbedfcml = this.GOBHBEDFCML;
plmjoeinojl5.orthographicSize = gobhbedfcml;
IL_D5:
this.PLMJOEINOJL.enabled = true;
this.COAGIBJBOID = false;
}
// Token: 0x06002A8F RID: 10895 RVA: 0x000B0C70 File Offset: 0x000AEE70
[Token(Token = "0x6002A8F")]
[Address(RVA = "0x1375550", Offset = "0x1373F50", VA = "0x181375550")]
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<Canvas>();
CanvasScaler canvasScaler = gameObject.AddComponent<CanvasScaler>();
Material material = gameObject.AddComponent<Image>().material;
gameObject.AddComponent<ImposterGraphicRaycaster>().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<CachedViewImposterCollider>();
meshFilter = gameObject.AddComponent<MeshFilter>();
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<MeshRenderer>();
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 enfeckdmkej = this.ENFECKDMKEJ;
int num7 = 0;
bool flag = enfeckdmkej == num7;
GameObject gameObject2 = DNGNGFFGPNL.gameObject;
if (!flag)
{
global::UnityEngine.Object.Destroy(gameObject2);
}
this.FBDCENMHMGA = gameObject2;
global::UnityEngine.Object.Destroy(DNGNGFFGPNL);
Canvas component = this.FBDCENMHMGA.GetComponent<Canvas>();
this.ENFECKDMKEJ = component;
Camera worldCamera = component.worldCamera;
int num8 = 0;
if (worldCamera == num8)
{
UIInputModule instance = UIInputModule.Instance;
Canvas enfeckdmkej2 = this.ENFECKDMKEJ;
Camera <MCLKPPFJMIH>k__BackingField = instance.<MCLKPPFJMIH>k__BackingField;
enfeckdmkej2.worldCamera = <MCLKPPFJMIH>k__BackingField;
}
BaseRaycaster component2 = this.FBDCENMHMGA.gameObject.GetComponent<BaseRaycaster>();
int num9 = 0;
if (component2 != num9)
{
global::UnityEngine.Object.Destroy(component2);
}
ImposterGraphicRaycaster imposterGraphicRaycaster = this.FBDCENMHMGA.AddComponent<ImposterGraphicRaycaster>();
this.HBFAAIIJMAK = imposterGraphicRaycaster;
imposterGraphicRaycaster.ignoresAllInput = true;
this.FBDCENMHMGA.IBAICLIPHDI(DAJFOCGPHGP.UI, DAJFOCGPHGP.CachedView);
Canvas enfeckdmkej3 = this.ENFECKDMKEJ;
Vector3 vector;
float z = vector.z;
Vector3 vector2;
float z2 = vector2.z;
GameObject fbdcenmhmga = this.FBDCENMHMGA;
int num10 = 0;
fbdcenmhmga.transform.position = num10;
Transform transform12 = this.FBDCENMHMGA.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.FBDCENMHMGA.transform;
int num12 = 0;
transform13.SetParent(transform14, num12 != 0);
Camera camera = this.EFACHFECFCP.AddComponent<Camera>();
this.PLMJOEINOJL = camera;
camera.clearFlags = CameraClearFlags.Color;
Camera plmjoeinojl = this.PLMJOEINOJL;
this.PLMJOEINOJL.cullingMask = int.MinValue;
this.PLMJOEINOJL.renderingPath = RenderingPath.Forward;
Camera plmjoeinojl2 = this.PLMJOEINOJL;
int num13 = 0;
plmjoeinojl2.useOcclusionCulling = num13 != 0;
Camera plmjoeinojl3 = this.PLMJOEINOJL;
int num14 = 0;
plmjoeinojl3.allowHDR = num14 != 0;
Camera plmjoeinojl4 = this.PLMJOEINOJL;
int num15 = 0;
plmjoeinojl4.allowMSAA = num15 != 0;
Camera plmjoeinojl5 = this.PLMJOEINOJL;
int num16 = 0;
plmjoeinojl5.stereoTargetEye = (StereoTargetEyeMask)num16;
Camera plmjoeinojl6 = this.PLMJOEINOJL;
RenderTexture khehladaomn = this.KHEHLADAOMN;
plmjoeinojl6.targetTexture = khehladaomn;
this.PLMJOEINOJL.orthographic = true;
this.PLMJOEINOJL.GetOrCreateAdditionalCameraData().<isSimpleUIViewCamera>k__BackingField = true;
Canvas enfeckdmkej4 = this.ENFECKDMKEJ;
KIFFHLOFBHD.LJANPOGDMDI(this.PLMJOEINOJL, enfeckdmkej4);
float orthographicSize = this.PLMJOEINOJL.orthographicSize;
Camera plmjoeinojl7 = this.PLMJOEINOJL;
this.GOBHBEDFCML = orthographicSize;
float aspect = plmjoeinojl7.aspect;
this.IIMBIODNGJN = aspect;
return gameObject;
}
// Token: 0x06002A90 RID: 10896 RVA: 0x000B1070 File Offset: 0x000AF270
[Token(Token = "0x6002A90")]
[Address(RVA = "0x13765E0", Offset = "0x1374FE0", VA = "0x1813765E0")]
public CachedViewManager()
{
List<GameObject> list = new List();
this.EFFBCAONHNB = list;
base..ctor();
}
// Token: 0x06002A91 RID: 10897 RVA: 0x000B1090 File Offset: 0x000AF290
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x6002A91")]
[Address(RVA = "0x1376510", Offset = "0x1374F10", VA = "0x181376510")]
static CachedViewManager()
{
float z = Vector3.zero.z;
}
// Token: 0x040023AA RID: 9130
[Token(Token = "0x40023AA")]
private static readonly string HJHDOIFODNO = "legacy_CachedView_mat";
// Token: 0x040023AB RID: 9131
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x40023AB")]
private string CKEBCMEKCJH;
// Token: 0x040023AC RID: 9132
[Token(Token = "0x40023AC")]
private static Material PDCIMKKOBOD;
// Token: 0x040023AD RID: 9133
[Token(Token = "0x40023AD")]
private static Dictionary<string, CachedViewManager> AMLFLLBOKIO = new Dictionary();
// Token: 0x040023AE RID: 9134
[Token(Token = "0x40023AE")]
private static Vector3 AAOKNPNNOJM;
// Token: 0x040023AF RID: 9135
[Token(Token = "0x40023AF")]
private static GameObject NDCBGIKGFNA;
// Token: 0x040023B0 RID: 9136
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x40023B0")]
private GameObject EFACHFECFCP;
// Token: 0x040023B1 RID: 9137
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x40023B1")]
private GameObject FBDCENMHMGA;
// Token: 0x040023B2 RID: 9138
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x40023B2")]
private Canvas ENFECKDMKEJ;
// Token: 0x040023B3 RID: 9139
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x40023B3")]
private ImposterGraphicRaycaster HBFAAIIJMAK;
// Token: 0x040023B4 RID: 9140
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x40023B4")]
private Camera PLMJOEINOJL;
// Token: 0x040023B5 RID: 9141
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x40023B5")]
public bool SupportsAutoDisable;
// Token: 0x040023B6 RID: 9142
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
[Token(Token = "0x40023B6")]
private List<GameObject> EFFBCAONHNB;
// Token: 0x040023B7 RID: 9143
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
[Token(Token = "0x40023B7")]
private RenderTexture KHEHLADAOMN;
// Token: 0x040023B8 RID: 9144
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
[Token(Token = "0x40023B8")]
private Material KDNJGHJOJFK;
// Token: 0x040023B9 RID: 9145
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
[Token(Token = "0x40023B9")]
private bool COAGIBJBOID;
// Token: 0x040023BA RID: 9146
[global::Cpp2IlInjected.FieldOffset(Offset = "0x6C")]
[Token(Token = "0x40023BA")]
private float DFKBCGIJNOA;
// Token: 0x040023BB RID: 9147
[Token(Token = "0x40023BB")]
private const float PBAHCKBOIHK = 5f;
// Token: 0x040023BC RID: 9148
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
[Token(Token = "0x40023BC")]
private float IIMBIODNGJN;
// Token: 0x040023BD RID: 9149
[global::Cpp2IlInjected.FieldOffset(Offset = "0x74")]
[Token(Token = "0x40023BD")]
private float GOBHBEDFCML;
}