345 lines
14 KiB
C#
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;
|
|
}
|
|
}
|