Files
niko 8fc35183db a
2026-04-11 22:19:20 +02:00

495 lines
16 KiB
C#

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<Material>(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<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 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<string, CachedViewManager> 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<string, CachedViewManager>.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<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 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<Canvas>();
this.AILMDFFHDOD = component;
Camera worldCamera = component.worldCamera;
int num8 = 0;
if (worldCamera == num8)
{
UIInputModule instance = UIInputModule.Instance;
Canvas ailmdffhdod2 = this.AILMDFFHDOD;
Camera <MCLKPPFJMIH>k__BackingField = instance.<MCLKPPFJMIH>k__BackingField;
ailmdffhdod2.worldCamera = <MCLKPPFJMIH>k__BackingField;
}
BaseRaycaster component2 = this.LBAEAHMAKGG.gameObject.GetComponent<BaseRaycaster>();
int num9 = 0;
if (component2 != num9)
{
global::UnityEngine.Object.Destroy(component2);
}
ImposterGraphicRaycaster imposterGraphicRaycaster = this.LBAEAHMAKGG.AddComponent<ImposterGraphicRaycaster>();
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<Camera>();
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().<isSimpleUIViewCamera>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<GameObject> 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<string, CachedViewManager> 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<GameObject> 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;
}