Files
Jan2021-Cpp2Il-Dump/Assembly-CSharp/RecRoom/AGUI/ToolUIs/ToolImposterUI.cs
T
2026-04-08 23:40:05 +02:00

388 lines
12 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using AGUI.StackedUI;
using Cpp2IlInjected;
using RecRoom.Async;
using RecRoom.Core.Creation;
using UnityEngine;
namespace RecRoom.AGUI.ToolUIs
{
// Token: 0x0200249E RID: 9374
[Token(Token = "0x200249E")]
[StructLayout(3)]
public class ToolImposterUI : MonoBehaviour
{
// Token: 0x17002C0F RID: 11279
// (get) Token: 0x0601035E RID: 66398 RVA: 0x003CC84C File Offset: 0x003CAA4C
// (set) Token: 0x0601035F RID: 66399 RVA: 0x003CC860 File Offset: 0x003CAA60
[Token(Token = "0x17002C0F")]
public OGNBCNBPFCC LCODFFNFGBK
{
[Token(Token = "0x601035E")]
[Address(RVA = "0x4F8C10", Offset = "0x4F7610", VA = "0x1804F8C10")]
get;
[Token(Token = "0x601035F")]
[Address(RVA = "0x420CD0", Offset = "0x41F6D0", VA = "0x180420CD0")]
private set;
}
// Token: 0x06010360 RID: 66400 RVA: 0x003CC874 File Offset: 0x003CAA74
[Token(Token = "0x6010360")]
[Address(RVA = "0x931810", Offset = "0x930210", VA = "0x180931810")]
private void Awake()
{
this.<NDJKJFCJLAC>k__BackingField = (OGNBCNBPFCC)((ulong)4294967295L);
}
// Token: 0x06010361 RID: 66401 RVA: 0x003CC894 File Offset: 0x003CAA94
[Token(Token = "0x6010361")]
[Address(RVA = "0x1567B60", Offset = "0x1566560", VA = "0x181567B60")]
private void OnDestroy()
{
this.OCGFDAFGNCG();
if (this.EMLIKFJNPEM != 0)
{
this.EMLIKFJNPEM = (ulong)0L;
}
}
// Token: 0x06010362 RID: 66402 RVA: 0x003CC8BC File Offset: 0x003CAABC
[Token(Token = "0x6010362")]
[Address(RVA = "0x15679C0", Offset = "0x15663C0", VA = "0x1815679C0")]
private void BAIGGMFKCKM()
{
if (this.EMLIKFJNPEM != 0)
{
this.EMLIKFJNPEM = (ulong)0L;
}
}
// Token: 0x06010363 RID: 66403 RVA: 0x003CC8DC File Offset: 0x003CAADC
[Token(Token = "0x6010363")]
[Address(RVA = "0x1567DC0", Offset = "0x15667C0", VA = "0x181567DC0")]
public void SetSpawnableTool(OGNBCNBPFCC EIBIBKBCFJI, StackedUIBase ANEGNEHDLOI, float NBOCPMDNOCF = 0f)
{
int num;
do
{
num = 0;
if (this.EMLIKFJNPEM != 0)
{
this.EMLIKFJNPEM = num;
}
if (this.<NDJKJFCJLAC>k__BackingField == EIBIBKBCFJI)
{
return;
}
IEnumerator enumerator = base.transform.GetEnumerator();
GameObject gameObject;
if (enumerator != 0)
{
if (num < enumerator)
{
num += num;
num++;
}
ulong num2;
enumerator += num2;
if (enumerator == 0 || enumerator == 0)
{
goto IL_A6;
}
SafeDestroy.GameObject(gameObject);
}
if (gameObject != 0)
{
}
if (num != -1)
{
}
}
while (num != 0);
this.OCGFDAFGNCG();
this.<NDJKJFCJLAC>k__BackingField = EIBIBKBCFJI;
Delayed3DUIObjectSpawner orAddComponent = base.gameObject.GetOrAddComponent<Delayed3DUIObjectSpawner>();
Action<Transform> action = delegate(Transform parent)
{
ToolImposterUI.JHCHILJGCGI jhchiljgcgi = new ToolImposterUI.JHCHILJGCGI();
jhchiljgcgi.CS$<>8__locals1 = ekgfjhildem;
jhchiljgcgi.parent = parent;
ToolImposterUI <>4__this = ekgfjhildem.<>4__this;
CreationManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
OGNBCNBPFCC ognbcnbpfcc = ekgfjhildem.<>4__this.<NDJKJFCJLAC>k__BackingField;
int num3 = 0;
float delay = ekgfjhildem.delay;
int num4 = 0;
ICancelablePromise<SpawnableTool> cancelablePromise = instance.SpawnToolImposterDelayed(delay, ognbcnbpfcc, num4);
<>4__this.EMLIKFJNPEM = cancelablePromise;
ICancelablePromise<SpawnableTool> cancelablePromise2 = ekgfjhildem.<>4__this.EMLIKFJNPEM;
Action<SpawnableTool> action2 = delegate(SpawnableTool toolImposter)
{
Transform transform = toolImposter.transform;
float z = Vector3.zero.z;
Renderer[] componentsInChildren = toolImposter.GetComponentsInChildren<Renderer>(true);
int num5 = 0;
int num6 = 0;
int length = componentsInChildren.Length;
if (num5 < length)
{
ToolImposterUI <>4__this2 = jhchiljgcgi.CS$<>8__locals1.<>4__this;
Material[] materialArray = componentsInChildren[num6].GetMaterialArray();
int num7 = 0;
if (num7 < materialArray.Length)
{
Material material = materialArray[num7];
material.SetKeywordEnabled("_CAMERA_LIT", true);
<>4__this2.EIOIMLBFILD.Add(material);
num7++;
}
num6++;
}
GameObject gameObject2 = toolImposter.gameObject;
ToolImposterUI <>4__this3 = jhchiljgcgi.CS$<>8__locals1.<>4__this;
Transform transform2 = toolImposter.transform;
Transform parent = jhchiljgcgi.parent;
int num8 = 0;
transform2.SetParent(parent, num8 != 0);
bool flag = SpawnableTool.TryRotateAndCenterSpawnableTool(toolImposter);
};
if (num3 < jhchiljgcgi)
{
num3 += num3;
if (num3 == jhchiljgcgi)
{
cancelablePromise2 += cancelablePromise2;
throw new NullReferenceException();
}
num3++;
}
};
return;
IL_A6:
throw new NullReferenceException();
}
// Token: 0x06010364 RID: 66404 RVA: 0x003CC99C File Offset: 0x003CAB9C
[Token(Token = "0x6010364")]
[Address(RVA = "0x1567A10", Offset = "0x1566410", VA = "0x181567A10")]
private void OCGFDAFGNCG()
{
int num;
do
{
num = 0;
List<Material> eioimlbfild = this.EIOIMLBFILD;
List.Enumerator enumerator;
if (enumerator != 0)
{
}
if (num != -1)
{
}
}
while (num != 0);
this.EIOIMLBFILD.Clear();
}
// Token: 0x06010365 RID: 66405 RVA: 0x003CC9D0 File Offset: 0x003CABD0
[Token(Token = "0x6010365")]
[Address(RVA = "0x1567CF0", Offset = "0x15666F0", VA = "0x181567CF0")]
private void PFFCHEFKICD(Renderer CHEJPOIMMCK)
{
Material[] materialArray = CHEJPOIMMCK.GetMaterialArray();
int num = 0;
int length = materialArray.Length;
if (num < length)
{
Material material = materialArray[num];
material.SetKeywordEnabled("_CAMERA_LIT", true);
this.EIOIMLBFILD.Add(material);
num++;
}
}
// Token: 0x06010366 RID: 66406 RVA: 0x003CCA1C File Offset: 0x003CAC1C
[Token(Token = "0x6010366")]
[Address(RVA = "0x1567BC0", Offset = "0x15665C0", VA = "0x181567BC0")]
private void OnDrawGizmosSelected()
{
Color green = Color.green;
Transform transform = base.transform;
Vector3 vector;
float z = vector.z;
Transform transform2 = base.transform;
Vector3 vector2;
float z2 = vector2.z;
}
// Token: 0x06010367 RID: 66407 RVA: 0x003CCA54 File Offset: 0x003CAC54
[Token(Token = "0x6010367")]
[Address(RVA = "0x1568130", Offset = "0x1566B30", VA = "0x181568130")]
public ToolImposterUI()
{
List<Material> list = new List();
this.EIOIMLBFILD = list;
base..ctor();
}
// Token: 0x0400AC42 RID: 44098
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x400AC42")]
[SerializeField]
private float localImposterRadius = 100f;
// Token: 0x0400AC44 RID: 44100
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x400AC44")]
private readonly List<Material> EIOIMLBFILD;
// Token: 0x0400AC45 RID: 44101
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x400AC45")]
private ICancelablePromise<SpawnableTool> EMLIKFJNPEM;
// Token: 0x0200249F RID: 9375
[Token(Token = "0x200249F")]
[CompilerGenerated]
private sealed class EKGFJHILDEM
{
// Token: 0x06010368 RID: 66408 RVA: 0x003CCA80 File Offset: 0x003CAC80
[Token(Token = "0x6010368")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public EKGFJHILDEM()
{
}
// Token: 0x06010369 RID: 66409 RVA: 0x003CCA94 File Offset: 0x003CAC94
[Token(Token = "0x6010369")]
[Address(RVA = "0x1565630", Offset = "0x1564030", VA = "0x181565630")]
internal void <SetSpawnableTool>b__0(Transform parent)
{
ToolImposterUI.JHCHILJGCGI jhchiljgcgi = new ToolImposterUI.JHCHILJGCGI();
jhchiljgcgi.CS$<>8__locals1 = this;
jhchiljgcgi.parent = parent;
ToolImposterUI toolImposterUI = this.<>4__this;
CreationManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
OGNBCNBPFCC <NDJKJFCJLAC>k__BackingField = this.<>4__this.<NDJKJFCJLAC>k__BackingField;
int num = 0;
float num2 = this.delay;
int num3 = 0;
ICancelablePromise<SpawnableTool> cancelablePromise = instance.SpawnToolImposterDelayed(num2, <NDJKJFCJLAC>k__BackingField, num3);
toolImposterUI.EMLIKFJNPEM = cancelablePromise;
ICancelablePromise<SpawnableTool> cancelablePromise2 = this.<>4__this.EMLIKFJNPEM;
Action<SpawnableTool> action = delegate(SpawnableTool toolImposter)
{
Transform transform = toolImposter.transform;
float z = Vector3.zero.z;
Renderer[] componentsInChildren = toolImposter.GetComponentsInChildren<Renderer>(true);
int num4 = 0;
int num5 = 0;
int length = componentsInChildren.Length;
if (num4 < length)
{
ToolImposterUI toolImposterUI2 = jhchiljgcgi.CS$<>8__locals1.<>4__this;
Material[] materialArray = componentsInChildren[num5].GetMaterialArray();
int num6 = 0;
if (num6 < materialArray.Length)
{
Material material = materialArray[num6];
material.SetKeywordEnabled("_CAMERA_LIT", true);
toolImposterUI2.EIOIMLBFILD.Add(material);
num6++;
}
num5++;
}
GameObject gameObject = toolImposter.gameObject;
ToolImposterUI toolImposterUI3 = jhchiljgcgi.CS$<>8__locals1.<>4__this;
Transform transform2 = toolImposter.transform;
Transform parent2 = jhchiljgcgi.parent;
int num7 = 0;
transform2.SetParent(parent2, num7 != 0);
bool flag = SpawnableTool.TryRotateAndCenterSpawnableTool(toolImposter);
};
if (num < jhchiljgcgi)
{
num += num;
if (num == jhchiljgcgi)
{
cancelablePromise2 += cancelablePromise2;
throw new NullReferenceException();
}
num++;
}
}
// Token: 0x0400AC46 RID: 44102
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x400AC46")]
public ToolImposterUI <>4__this;
// Token: 0x0400AC47 RID: 44103
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x400AC47")]
public float delay;
}
// Token: 0x020024A0 RID: 9376
[Token(Token = "0x20024A0")]
[CompilerGenerated]
private sealed class JHCHILJGCGI
{
// Token: 0x0601036A RID: 66410 RVA: 0x003CCB30 File Offset: 0x003CAD30
[Token(Token = "0x601036A")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public JHCHILJGCGI()
{
}
// Token: 0x0601036B RID: 66411 RVA: 0x003CCB44 File Offset: 0x003CAD44
[Token(Token = "0x601036B")]
[Address(RVA = "0x1565B20", Offset = "0x1564520", VA = "0x181565B20")]
internal void <SetSpawnableTool>b__1(SpawnableTool toolImposter)
{
Transform transform = toolImposter.transform;
float z = Vector3.zero.z;
Renderer[] componentsInChildren = toolImposter.GetComponentsInChildren<Renderer>(true);
int num = 0;
int num2 = 0;
int length = componentsInChildren.Length;
if (num < length)
{
ToolImposterUI <>4__this = this.CS$<>8__locals1.<>4__this;
Material[] materialArray = componentsInChildren[num2].GetMaterialArray();
int num3 = 0;
if (num3 < materialArray.Length)
{
Material material = materialArray[num3];
material.SetKeywordEnabled("_CAMERA_LIT", true);
<>4__this.EIOIMLBFILD.Add(material);
num3++;
}
num2++;
}
GameObject gameObject = toolImposter.gameObject;
ToolImposterUI <>4__this2 = this.CS$<>8__locals1.<>4__this;
Transform transform2 = toolImposter.transform;
Transform transform3 = this.parent;
int num4 = 0;
transform2.SetParent(transform3, num4 != 0);
bool flag = SpawnableTool.TryRotateAndCenterSpawnableTool(toolImposter);
}
// Token: 0x0400AC48 RID: 44104
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x400AC48")]
public Transform parent;
// Token: 0x0400AC49 RID: 44105
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x400AC49")]
public ToolImposterUI.EKGFJHILDEM CS$<>8__locals1;
}
}
}