Files
27Aug2021-Cpp2IL-Dump/Assembly-CSharp/ImposterSpawnManager.cs
T
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

345 lines
14 KiB
C#

using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
using RecRoom.Avatars.Data.Runtime;
using RecRoom.Avatars.Outfit;
using RecRoom.Consumable;
using RecRoom.Core;
using UnityEngine;
using UnityEngine.Rendering.Universal;
// Token: 0x020003DA RID: 986
[Token(Token = "0x20003DA")]
public class ImposterSpawnManager : SingletonMonoBehaviour<ImposterSpawnManager>
{
// Token: 0x17000591 RID: 1425
// (get) Token: 0x06001F5B RID: 8027 RVA: 0x00080738 File Offset: 0x0007E938
[Token(Token = "0x17000591")]
private int FFMLOLDJEJA
{
[Token(Token = "0x6001F5B")]
[Address(RVA = "0x13603C0", Offset = "0x135F3C0", VA = "0x1813603C0")]
get
{
IRecRoomQualityConfigProvider nncbfajkomh = this.NNCBFAJKOMH;
throw new NullReferenceException();
}
}
// Token: 0x06001F5C RID: 8028 RVA: 0x00080754 File Offset: 0x0007E954
[Token(Token = "0x6001F5C")]
[Address(RVA = "0x135F960", Offset = "0x135E960", VA = "0x18135F960", Slot = "4")]
protected override void Awake()
{
base.Awake();
Action<PPDOPHKNMCK> action = new Action(this.EHDNCHLIKMF);
IRecRoomQualityConfigProvider recRoomQualityConfigProvider;
this.NNCBFAJKOMH = recRoomQualityConfigProvider;
}
// Token: 0x06001F5D RID: 8029 RVA: 0x00080788 File Offset: 0x0007E988
[Token(Token = "0x6001F5D")]
[Address(RVA = "0x13600E0", Offset = "0x135F0E0", VA = "0x1813600E0")]
private void EHDNCHLIKMF(PPDOPHKNMCK NLNHFEEMFBN)
{
IRecRoomQualityConfigProvider recRoomQualityConfigProvider;
this.NNCBFAJKOMH = recRoomQualityConfigProvider;
}
// Token: 0x06001F5E RID: 8030 RVA: 0x000807A4 File Offset: 0x0007E9A4
[Token(Token = "0x6001F5E")]
[Address(RVA = "0x1360550", Offset = "0x135F550", VA = "0x181360550")]
private void Start()
{
Scheduler instance = SingletonMonoBehaviour.ONCPNMDGGKG;
Stack<ImposterSpawnManager.KNICAPDOFDI> pbaokcmdcnh = this.PBAOKCMDCNH;
ImposterSpawnManager.GFJAPNINJPJ gfjapninjpj;
gfjapninjpj.System.IDisposable.Dispose();
gfjapninjpj.<>1__state = (int)((ulong)0L);
gfjapninjpj.<>4__this = this;
gfjapninjpj.queue = pbaokcmdcnh;
KFBABPAPIMB kfbabpapimb = instance.Run(this, gfjapninjpj);
}
// Token: 0x06001F5F RID: 8031 RVA: 0x000807EC File Offset: 0x0007E9EC
[Token(Token = "0x6001F5F")]
[Address(RVA = "0x1360410", Offset = "0x135F410", VA = "0x181360410", Slot = "5")]
protected override void OnDestroy()
{
Action<PPDOPHKNMCK> action = new Action(this.EHDNCHLIKMF);
this.PBAOKCMDCNH.Clear();
base.OnDestroy();
}
// Token: 0x06001F60 RID: 8032 RVA: 0x00080820 File Offset: 0x0007EA20
[Token(Token = "0x6001F60")]
[Address(RVA = "0x13602F0", Offset = "0x135F2F0", VA = "0x1813602F0")]
public JCOINEEFENJ<GameObject> LoadItemAsync(AvatarItem LACNEKHKOII)
{
ImposterSpawnManager.KNICAPDOFDI knicapdofdi;
knicapdofdi.NAAEMBKDEGI = (ulong)0L;
DCLIBCDKJNF<GameObject> dclibcdkjnf = new DCLIBCDKJNF();
knicapdofdi.BAINEAGHDEH = dclibcdkjnf;
this.PBAOKCMDCNH.Push(knicapdofdi);
DCLIBCDKJNF<GameObject> baineaghdeh = knicapdofdi.BAINEAGHDEH;
throw new NullReferenceException();
}
// Token: 0x06001F61 RID: 8033 RVA: 0x0008085C File Offset: 0x0007EA5C
[Token(Token = "0x6001F61")]
[Address(RVA = "0x1360210", Offset = "0x135F210", VA = "0x181360210")]
public JCOINEEFENJ<GameObject> LoadItemAsync(MJLPNOMEFKG NAAEMBKDEGI)
{
ImposterSpawnManager.KNICAPDOFDI knicapdofdi;
knicapdofdi.NAAEMBKDEGI = NAAEMBKDEGI;
if (NAAEMBKDEGI.<KFFMMFIJKJM>k__BackingField == CDFEDFLKOBE.OutfitItem)
{
}
DCLIBCDKJNF<GameObject> dclibcdkjnf = new DCLIBCDKJNF();
knicapdofdi.BAINEAGHDEH = dclibcdkjnf;
this.PBAOKCMDCNH.Push(knicapdofdi);
DCLIBCDKJNF<GameObject> baineaghdeh = knicapdofdi.BAINEAGHDEH;
throw new NullReferenceException();
}
// Token: 0x06001F62 RID: 8034 RVA: 0x000808A0 File Offset: 0x0007EAA0
[Token(Token = "0x6001F62")]
[Address(RVA = "0x13601A0", Offset = "0x135F1A0", VA = "0x1813601A0")]
private IEnumerator<KENFJGFMIPM> LPJIOPNMHJD(Stack<ImposterSpawnManager.KNICAPDOFDI> MJHMBNIDGCA)
{
/*
An exception occurred when decompiling this method (06001F62)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IEnumerator`1<KENFJGFMIPM> ImposterSpawnManager::LPJIOPNMHJD(System.Collections.Generic.Stack`1<ImposterSpawnManager/KNICAPDOFDI>)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
call:void(GFJAPNINJPJ::System.IDisposable.Dispose, ldloc:GFJAPNINJPJ(var_0))
stfld:ImposterSpawnManager(GFJAPNINJPJ::<>4__this, ldloc:GFJAPNINJPJ(var_0), ldloc:ImposterSpawnManager(this))
stfld:int32(GFJAPNINJPJ::<>1__state, ldloc:GFJAPNINJPJ(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0)))
stfld:class [System]System.Collections.Generic.Stack`1<class ImposterSpawnManager/KNICAPDOFDI>(GFJAPNINJPJ::queue, ldloc:GFJAPNINJPJ(var_0), ldloc:class [System]System.Collections.Generic.Stack`1<class ImposterSpawnManager/KNICAPDOFDI>(MJHMBNIDGCA))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
*/;
}
// Token: 0x06001F63 RID: 8035 RVA: 0x000808CC File Offset: 0x0007EACC
[Token(Token = "0x6001F63")]
[Address(RVA = "0x135FAF0", Offset = "0x135EAF0", VA = "0x18135FAF0")]
private DABKFAIHBBP BEHEGDPEALL(Stack<ImposterSpawnManager.KNICAPDOFDI> MJHMBNIDGCA)
{
do
{
ImposterSpawnManager.KNICAPDOFDI knicapdofdi = MJHMBNIDGCA.Pop();
ImposterSpawnManager.KNICAPDOFDI loadRequest = knicapdofdi;
DCLIBCDKJNF<GameObject> baineaghdeh = knicapdofdi.BAINEAGHDEH;
CBLLFJEDOII<GameObject> cbllfjedoii = new CBLLFJEDOII();
ImposterSpawnManager.KNICAPDOFDI loadRequest2 = loadRequest;
MJLPNOMEFKG naaembkdegi = loadRequest2.NAAEMBKDEGI;
MJLPNOMEFKG currentItem = naaembkdegi;
if (loadRequest2.NAAEMBKDEGI == (ulong)0L)
{
OutfitManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
AvatarItem lacnekhkoii = loadRequest.LACNEKHKOII;
PMGCJEPKFOF<OutfitRenderSetup> pmgcjepkfof = instance.SpawnOutfitImposter(lacnekhkoii);
if (ImposterSpawnManager.<>c.<>9__14_0 == 0)
{
ImposterSpawnManager.<>c.<>9__14_0 = (OutfitRenderSetup v) => v.gameObject;
}
}
if (naaembkdegi.<KFFMMFIJKJM>k__BackingField > CDFEDFLKOBE.Query)
{
goto IL_13E;
}
OutfitManager instance2 = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
}
while (ImposterSpawnManager.<>c.<>9__14_2 != 0);
ImposterSpawnManager.<>c.<>9__14_2 = (OutfitRenderSetup v) => v.gameObject;
EquipmentManager instance3 = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
MJLPNOMEFKG currentItem3 = emfjpdpcjin.currentItem;
string <MGPPFEKOLNK>k__BackingField = currentItem3.<MGPPFEKOLNK>k__BackingField;
string <JOGJIAPDHFB>k__BackingField = currentItem3.<JOGJIAPDHFB>k__BackingField;
GameObject gameObject = instance3.SpawnEquipmentImposter(<JOGJIAPDHFB>k__BackingField, <MGPPFEKOLNK>k__BackingField);
ConsumableManager instance4 = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
string <CNJALCEBPMC>k__BackingField = emfjpdpcjin.currentItem.<CNJALCEBPMC>k__BackingField;
GameObject gameObject2 = instance4.SpawnConsumableImposter(<CNJALCEBPMC>k__BackingField);
MJLPNOMEFKG currentItem2 = emfjpdpcjin.currentItem;
GiftBoxMerchVisual giftBoxMerchVisual;
bool flag = giftBoxMerchVisual.SetGiftDrop(currentItem2);
GameObject gameObject3 = giftBoxMerchVisual.gameObject;
OutfitManager instance5 = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
string <MCGDGOKLALG>k__BackingField = emfjpdpcjin.currentItem.<MCGDGOKLALG>k__BackingField;
GameObject gameObject4 = instance5.SpawnHairDyeImposter(<MCGDGOKLALG>k__BackingField);
IL_13E:
PMGCJEPKFOF<GameObject> pmgcjepkfof2 = JJEKJGALHKO.MKLIDFOGIGO<GameObject>(0);
Action<GameObject> action = delegate(GameObject visualGo)
{
if (!emfjpdpcjin.loadRequest.BAINEAGHDEH.HLBOMBLINAL)
{
int num = 0;
if (visualGo != num)
{
global::UnityEngine.Object.Destroy(visualGo);
return;
}
}
int num2 = 0;
if (visualGo != num2)
{
if (emfjpdpcjin.currentItem != 0)
{
}
OutfitManager instance6 = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
AvatarItem lacnekhkoii2 = emfjpdpcjin.loadRequest.LACNEKHKOII;
string itemFriendlyName = instance6.GetItemFriendlyName(lacnekhkoii2);
visualGo.name = itemFriendlyName;
}
emfjpdpcjin.loadRequest.BAINEAGHDEH.OOOIENHGNCA(visualGo);
};
DCLIBCDKJNF<GameObject> baineaghdeh2 = emfjpdpcjin.loadRequest.BAINEAGHDEH;
throw new NullReferenceException();
}
// Token: 0x06001F64 RID: 8036 RVA: 0x00080A40 File Offset: 0x0007EC40
[Token(Token = "0x6001F64")]
[Address(RVA = "0x1360630", Offset = "0x135F630", VA = "0x181360630")]
public ImposterSpawnManager()
{
Stack<ImposterSpawnManager.KNICAPDOFDI> stack = new Stack();
this.PBAOKCMDCNH = stack;
base..ctor();
}
// Token: 0x06001F65 RID: 8037 RVA: 0x00080A60 File Offset: 0x0007EC60
[Token(Token = "0x6001F65")]
[Address(RVA = "0xA4B7D0", Offset = "0xA4A7D0", VA = "0x180A4B7D0")]
[CompilerGenerated]
private void DADHLOPLABH()
{
}
// Token: 0x040017C2 RID: 6082
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40017C2")]
[SerializeField]
private GiftBoxMerchVisual giftBoxMerchVisualPrefab;
// Token: 0x040017C3 RID: 6083
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40017C3")]
private readonly Stack<ImposterSpawnManager.KNICAPDOFDI> PBAOKCMDCNH;
// Token: 0x040017C4 RID: 6084
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40017C4")]
private int KBCKLJLADDF;
// Token: 0x040017C5 RID: 6085
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40017C5")]
private IRecRoomQualityConfigProvider NNCBFAJKOMH;
// Token: 0x020003DB RID: 987
[Token(Token = "0x20003DB")]
private class KNICAPDOFDI
{
// Token: 0x06001F66 RID: 8038 RVA: 0x00080A70 File Offset: 0x0007EC70
[Token(Token = "0x6001F66")]
[Address(RVA = "0x1371F70", Offset = "0x1370F70", VA = "0x181371F70")]
public KNICAPDOFDI(MJLPNOMEFKG NAAEMBKDEGI)
{
this.NAAEMBKDEGI = NAAEMBKDEGI;
if (NAAEMBKDEGI.<KFFMMFIJKJM>k__BackingField == CDFEDFLKOBE.OutfitItem)
{
}
DCLIBCDKJNF<GameObject> dclibcdkjnf = new DCLIBCDKJNF();
this.BAINEAGHDEH = dclibcdkjnf;
}
// Token: 0x06001F67 RID: 8039 RVA: 0x00080AA8 File Offset: 0x0007ECA8
[Token(Token = "0x6001F67")]
[Address(RVA = "0x1372000", Offset = "0x1371000", VA = "0x181372000")]
public KNICAPDOFDI(AvatarItem LACNEKHKOII)
{
this.NAAEMBKDEGI = (ulong)0L;
DCLIBCDKJNF<GameObject> dclibcdkjnf = new DCLIBCDKJNF();
this.BAINEAGHDEH = dclibcdkjnf;
}
// Token: 0x040017C6 RID: 6086
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40017C6")]
public MJLPNOMEFKG NAAEMBKDEGI;
// Token: 0x040017C7 RID: 6087
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40017C7")]
public AvatarItem LACNEKHKOII;
// Token: 0x040017C8 RID: 6088
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40017C8")]
public DCLIBCDKJNF<GameObject> BAINEAGHDEH;
}
// Token: 0x020003DD RID: 989
[Token(Token = "0x20003DD")]
[CompilerGenerated]
private sealed class EMFJPDPCJIN
{
// Token: 0x06001F6E RID: 8046 RVA: 0x00080BD8 File Offset: 0x0007EDD8
[Token(Token = "0x6001F6E")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public EMFJPDPCJIN()
{
}
// Token: 0x06001F6F RID: 8047 RVA: 0x00080BEC File Offset: 0x0007EDEC
[Token(Token = "0x6001F6F")]
[Address(RVA = "0x135C6A0", Offset = "0x135B6A0", VA = "0x18135C6A0")]
internal void <LoadNextImposter>b__1(GameObject visualGo)
{
if (!this.loadRequest.BAINEAGHDEH.HLBOMBLINAL)
{
int num = 0;
if (visualGo != num)
{
global::UnityEngine.Object.Destroy(visualGo);
return;
}
}
int num2 = 0;
if (visualGo != num2)
{
if (this.currentItem != 0)
{
}
OutfitManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
AvatarItem lacnekhkoii = this.loadRequest.LACNEKHKOII;
string itemFriendlyName = instance.GetItemFriendlyName(lacnekhkoii);
visualGo.name = itemFriendlyName;
}
this.loadRequest.BAINEAGHDEH.OOOIENHGNCA(visualGo);
}
// Token: 0x040017CD RID: 6093
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40017CD")]
public ImposterSpawnManager.KNICAPDOFDI loadRequest;
// Token: 0x040017CE RID: 6094
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40017CE")]
public MJLPNOMEFKG currentItem;
}
}