This commit is contained in:
niko
2026-04-10 22:50:51 +02:00
parent 6d1607d5a2
commit f18d448581
17033 changed files with 2863270 additions and 0 deletions
@@ -0,0 +1,1665 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
using RecRoom.Avatars.Data.Runtime;
using RecRoom.Avatars.Data.Shared;
using RecRoom.Avatars.Face;
using UnityEngine;
namespace RecRoom.Avatars.Outfit
{
// Token: 0x020023CB RID: 9163
[Token(Token = "0x20023CB")]
public class OutfitManager : NetworkedSingletonMonoBehaviour<OutfitManager>
{
// Token: 0x0600EC29 RID: 60457 RVA: 0x003653D0 File Offset: 0x003635D0
[Token(Token = "0x600EC29")]
[Address(RVA = "0x11DBFE0", Offset = "0x11DADE0", VA = "0x1811DBFE0")]
public EOBKJELFMIA GetBrowsableAvatarItemByGuid(string COFLAJFOPEN)
{
Dictionary<string, EOBKJELFMIA> khlonollnnf = this.KHLONOLLNNF;
int num = 0;
bool flag = khlonollnnf.TryGetValue(COFLAJFOPEN, num);
throw new NullReferenceException();
}
// Token: 0x0600EC2A RID: 60458 RVA: 0x003653F4 File Offset: 0x003635F4
[Token(Token = "0x600EC2A")]
[Address(RVA = "0x11DFAE0", Offset = "0x11DE8E0", VA = "0x1811DFAE0")]
public bool TryGetBrowsableAvatarItemByGuid(string COFLAJFOPEN, out EOBKJELFMIA IOBEPGLJNIP)
{
Dictionary<string, EOBKJELFMIA> khlonollnnf = this.KHLONOLLNNF;
bool flag;
return flag;
}
// Token: 0x0600EC2B RID: 60459 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600EC2B")]
[Address(RVA = "0x11DC060", Offset = "0x11DAE60", VA = "0x1811DC060")]
public DABKFAIHBBP GetBrowsableAvatarItemsByGuids(List<string> BOIHKFECIGG, List<EOBKJELFMIA> LLCIDEKMKBG)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600EC2C RID: 60460 RVA: 0x00365410 File Offset: 0x00363610
[Token(Token = "0x600EC2C")]
[Address(RVA = "0x11DC500", Offset = "0x11DB300", VA = "0x1811DC500")]
public PMGCJEPKFOF<IReadOnlyList<string>> GetFilteredAvatarItemGuids(string KHFJLAPFOFI, bool HFFCNFLNFPE, EOBKJELFMIA.PFIGBFIKKEG MKAMFBICAAH, EOBKJELFMIA.LFFHCBCBCJJ ALMICNFABOK)
{
List<string> dmgkekjiema = OutfitManager.DMGKEKJIEMA;
PMGCJEPKFOF<string> pmgcjepkfof;
return pmgcjepkfof;
}
// Token: 0x0600EC2D RID: 60461 RVA: 0x00365428 File Offset: 0x00363628
[Token(Token = "0x600EC2D")]
[Address(RVA = "0x11DE2B0", Offset = "0x11DD0B0", VA = "0x1811DE2B0")]
private void KGJKDAPMLEM(bool EGKKFNODGHG)
{
int num;
do
{
num = 0;
this.KHLONOLLNNF.Clear();
this.EBMJIJKHKJA.Clear();
HashSet<AvatarItem> nkihcllango = this.NKIHCLLANGO;
HashSet<AvatarItem> nkihcllango2 = this.NKIHCLLANGO;
num += num;
num++;
EOBKJELFMIA eobkjelfmia = new EOBKJELFMIA();
OutfitManager.AvatarItemMetadata avatarItemMetadata;
eobkjelfmia.<FLFHILBLCOG>k__BackingField = avatarItemMetadata;
eobkjelfmia.<OHIGJIBAPHD>k__BackingField = num;
eobkjelfmia.<FPECCGKDEMF>k__BackingField = true;
this.BLBNKOIALHE(eobkjelfmia);
eobkjelfmia += eobkjelfmia;
}
while (num != 0);
if (EGKKFNODGHG)
{
PMGCJEPKFOF<BKFGFHDDNFG> pmgcjepkfof = GEAPBDGCKMB.PGIMFDLBHON(DGOHCPBKOHD.Watch);
Action<BKFGFHDDNFG> action = new Action(this.MJGDMNODGJO);
if (OutfitManager.<>c.<>9__9_0 == 0)
{
OutfitManager.<>c.<>9__9_0 = delegate
{
OutfitManager.BrowsableItemsChangedEvent.CNFDGDEOPPF();
};
}
}
}
// Token: 0x0600EC2E RID: 60462 RVA: 0x003654E0 File Offset: 0x003636E0
[Token(Token = "0x600EC2E")]
[Address(RVA = "0x11DEAC0", Offset = "0x11DD8C0", VA = "0x1811DEAC0")]
private DABKFAIHBBP LFGLKGGBJHF()
{
PMGCJEPKFOF<BKFGFHDDNFG> pmgcjepkfof = GEAPBDGCKMB.PGIMFDLBHON(DGOHCPBKOHD.Watch);
Action<BKFGFHDDNFG> action = new Action(this.MJGDMNODGJO);
throw new NullReferenceException();
}
// Token: 0x0600EC2F RID: 60463 RVA: 0x00365508 File Offset: 0x00363708
[Token(Token = "0x600EC2F")]
[Address(RVA = "0x11DD7B0", Offset = "0x11DC5B0", VA = "0x1811DD7B0")]
private void HNPFOAIMPNG(AvatarItem LACNEKHKOII)
{
OutfitManager.AvatarItemMetadata avatarItemMetadata;
this.BLBNKOIALHE(new EOBKJELFMIA
{
<FLFHILBLCOG>k__BackingField = avatarItemMetadata,
<OHIGJIBAPHD>k__BackingField = (ulong)0L,
<FPECCGKDEMF>k__BackingField = true
});
}
// Token: 0x0600EC30 RID: 60464 RVA: 0x00365540 File Offset: 0x00363740
[Token(Token = "0x600EC30")]
[Address(RVA = "0x11DD860", Offset = "0x11DC660", VA = "0x1811DD860")]
private EOBKJELFMIA IDKKJAFCBAN(AvatarItem LACNEKHKOII)
{
EOBKJELFMIA eobkjelfmia = new EOBKJELFMIA();
OutfitManager.AvatarItemMetadata avatarItemMetadata;
eobkjelfmia.<FLFHILBLCOG>k__BackingField = avatarItemMetadata;
eobkjelfmia.<OHIGJIBAPHD>k__BackingField = (ulong)0L;
eobkjelfmia.<FPECCGKDEMF>k__BackingField = false;
this.BLBNKOIALHE(eobkjelfmia);
return eobkjelfmia;
}
// Token: 0x0600EC31 RID: 60465 RVA: 0x00365578 File Offset: 0x00363778
[Token(Token = "0x600EC31")]
[Address(RVA = "0x11DBED0", Offset = "0x11DACD0", VA = "0x1811DBED0")]
private void GOOHDGKHHNM(AvatarItem LACNEKHKOII, HOJMGAMMIAD EBMJDCLJJHG)
{
MJLPNOMEFKG <IPAKFAFGINE>k__BackingField = EBMJDCLJJHG.<IPAKFAFGINE>k__BackingField;
OutfitManager.AvatarItemMetadata avatarItemMetadata = new OutfitManager.AvatarItemMetadata();
string <FNIGMBMFOJL>k__BackingField = <IPAKFAFGINE>k__BackingField.<FNIGMBMFOJL>k__BackingField;
avatarItemMetadata.FriendlyName = <FNIGMBMFOJL>k__BackingField;
string <ILKJJMACHPC>k__BackingField = <IPAKFAFGINE>k__BackingField.<ILKJJMACHPC>k__BackingField;
avatarItemMetadata.Tooltip = <ILKJJMACHPC>k__BackingField;
PGCHMNKBEFJ <IGOLNCKNKMK>k__BackingField = <IPAKFAFGINE>k__BackingField.<IGOLNCKNKMK>k__BackingField;
avatarItemMetadata.Rarity = <IGOLNCKNKMK>k__BackingField;
this.BLBNKOIALHE(new EOBKJELFMIA
{
<FLFHILBLCOG>k__BackingField = avatarItemMetadata,
<OHIGJIBAPHD>k__BackingField = EBMJDCLJJHG,
<FPECCGKDEMF>k__BackingField = false
});
}
// Token: 0x0600EC32 RID: 60466 RVA: 0x003655EC File Offset: 0x003637EC
[Token(Token = "0x600EC32")]
[Address(RVA = "0x11DB110", Offset = "0x11D9F10", VA = "0x1811DB110")]
private void BLBNKOIALHE(EOBKJELFMIA FOAHCAIKPLO)
{
string text;
this.EBMJIJKHKJA.Add(text);
this.KHLONOLLNNF[text] = FOAHCAIKPLO;
}
// Token: 0x0600EC33 RID: 60467 RVA: 0x00365618 File Offset: 0x00363818
[Token(Token = "0x600EC33")]
[Address(RVA = "0x11DEAA0", Offset = "0x11DD8A0", VA = "0x1811DEAA0")]
private static MJLPNOMEFKG KNJALGGCDMK(HOJMGAMMIAD EBMJDCLJJHG)
{
return EBMJDCLJJHG.<IPAKFAFGINE>k__BackingField;
}
// Token: 0x0600EC34 RID: 60468 RVA: 0x00365634 File Offset: 0x00363834
[Token(Token = "0x600EC34")]
[Address(RVA = "0x11DEA30", Offset = "0x11DD830", VA = "0x1811DEA30")]
private string KHKKLFCKBNK(string COFLAJFOPEN)
{
OutfitManager.AvatarItemMetadata <FLFHILBLCOG>k__BackingField;
do
{
EOBKJELFMIA browsableAvatarItemByGuid = this.GetBrowsableAvatarItemByGuid(COFLAJFOPEN);
if (browsableAvatarItemByGuid == 0)
{
break;
}
<FLFHILBLCOG>k__BackingField = browsableAvatarItemByGuid.<FLFHILBLCOG>k__BackingField;
}
while (<FLFHILBLCOG>k__BackingField != 0 && <FLFHILBLCOG>k__BackingField.FriendlyName != 0);
return string.Empty;
}
// Token: 0x0600EC35 RID: 60469 RVA: 0x00365668 File Offset: 0x00363868
[Token(Token = "0x600EC35")]
[Address(RVA = "0x11DDBE0", Offset = "0x11DC9E0", VA = "0x1811DDBE0")]
private PGCHMNKBEFJ JDFLLLCACOE(string COFLAJFOPEN)
{
/*
An exception occurred when decompiling this method (0600EC35)
ICSharpCode.Decompiler.DecompilerException: Error decompiling PGCHMNKBEFJ RecRoom.Avatars.Outfit.OutfitManager::JDFLLLCACOE(System.String)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_1:
stloc:PGCHMNKBEFJ(var_3_1F, ldfld:PGCHMNKBEFJ(AvatarItemMetadata::Rarity, ldloc:AvatarItemMetadata(var_1_12)))
}
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: 0x0600EC36 RID: 60470 RVA: 0x00365694 File Offset: 0x00363894
[Token(Token = "0x600EC36")]
[Address(RVA = "0x11DB300", Offset = "0x11DA100", VA = "0x1811DB300")]
private bool CGOEAHBPNJF(string COFLAJFOPEN)
{
EOBKJELFMIA browsableAvatarItemByGuid = this.GetBrowsableAvatarItemByGuid(COFLAJFOPEN);
if (browsableAvatarItemByGuid == 0)
{
throw new NullReferenceException();
}
HOJMGAMMIAD <OHIGJIBAPHD>k__BackingField = browsableAvatarItemByGuid.<OHIGJIBAPHD>k__BackingField;
if (<OHIGJIBAPHD>k__BackingField != 0)
{
bool <EFFHIKNPACF>k__BackingField = <OHIGJIBAPHD>k__BackingField.<IPAKFAFGINE>k__BackingField.<EFFHIKNPACF>k__BackingField;
return 0 == 1;
}
return 0 == 1;
}
// Token: 0x0600EC37 RID: 60471 RVA: 0x003656D4 File Offset: 0x003638D4
[Token(Token = "0x600EC37")]
[Address(RVA = "0x11DBC00", Offset = "0x11DAA00", VA = "0x1811DBC00")]
private long? FLMEEADKAHA(string COFLAJFOPEN)
{
EOBKJELFMIA eobkjelfmia;
if (eobkjelfmia == 0)
{
return;
}
HOJMGAMMIAD <OHIGJIBAPHD>k__BackingField = eobkjelfmia.<OHIGJIBAPHD>k__BackingField;
if (<OHIGJIBAPHD>k__BackingField != 0)
{
long num = <OHIGJIBAPHD>k__BackingField.PCPFENLLBOC(ACDKILABNNC.RecCenterTokens);
return;
}
}
// Token: 0x0600EC38 RID: 60472 RVA: 0x003656FC File Offset: 0x003638FC
[Token(Token = "0x600EC38")]
[Address(RVA = "0x11DD920", Offset = "0x11DC720", VA = "0x1811DD920")]
private int INENIONEEOH(string COFLAJFOPEN)
{
EOBKJELFMIA browsableAvatarItemByGuid = this.GetBrowsableAvatarItemByGuid(COFLAJFOPEN);
if (browsableAvatarItemByGuid == 0)
{
return int.MaxValue;
}
if (browsableAvatarItemByGuid.PDPOGMFOACI)
{
return 0;
}
if (browsableAvatarItemByGuid.<OHIGJIBAPHD>k__BackingField != 0)
{
return 1;
}
return 2;
}
// Token: 0x0600EC39 RID: 60473 RVA: 0x00365734 File Offset: 0x00363934
[Token(Token = "0x600EC39")]
[Address(RVA = "0x11DE690", Offset = "0x11DD490", VA = "0x1811DE690")]
private void KHBIOENJIFC(List<string> BNGMFBNNBDJ, EOBKJELFMIA.PFIGBFIKKEG MKAMFBICAAH)
{
int num = MKAMFBICAAH - EOBKJELFMIA.PFIGBFIKKEG.Alphabetical;
if (num != 0)
{
if (num != 0)
{
if (num != 0)
{
if (num != 1)
{
Func<string, long?> func = new Func(this.FLMEEADKAHA);
IOrderedEnumerable<string> orderedEnumerable = Enumerable.OrderByDescending<string, long?>(BNGMFBNNBDJ, func);
Func<string, string> func2 = new Func(this.KHKKLFCKBNK);
IOrderedEnumerable<string> orderedEnumerable2 = Enumerable.ThenBy<string, string>(orderedEnumerable, func2);
Func<string, PGCHMNKBEFJ> func3 = new Func(this.JDFLLLCACOE);
IOrderedEnumerable<string> orderedEnumerable3 = Enumerable.OrderByDescending<string, PGCHMNKBEFJ>(BNGMFBNNBDJ, func3);
Func<string, bool> func4 = new Func(this.CGOEAHBPNJF);
IOrderedEnumerable<string> orderedEnumerable4 = Enumerable.ThenByDescending<string, bool>(orderedEnumerable3, func4);
Func<string, string> func5 = new Func(this.KHKKLFCKBNK);
IOrderedEnumerable<string> orderedEnumerable5 = Enumerable.OrderByDescending<string, string>(BNGMFBNNBDJ, func5);
}
Func<string, long?> func6 = new Func(this.FLMEEADKAHA);
IOrderedEnumerable<string> orderedEnumerable6 = Enumerable.OrderBy<string, long?>(BNGMFBNNBDJ, func6);
}
Func<string, PGCHMNKBEFJ> func7 = new Func(this.JDFLLLCACOE);
IOrderedEnumerable<string> orderedEnumerable7 = Enumerable.OrderBy<string, PGCHMNKBEFJ>(BNGMFBNNBDJ, func7);
}
Func<string, int> func8 = new Func(this.INENIONEEOH);
IOrderedEnumerable<string> orderedEnumerable8 = Enumerable.OrderBy<string, int>(BNGMFBNNBDJ, func8);
}
Func<string, string> func9 = new Func(this.KHKKLFCKBNK);
IOrderedEnumerable<string> orderedEnumerable9 = Enumerable.OrderBy<string, string>(BNGMFBNNBDJ, func9);
OutfitManager.ECAAHMIBOOC.Clear();
OutfitManager.ECAAHMIBOOC.AddRange(orderedEnumerable9);
BNGMFBNNBDJ.Clear();
List<string> ecaahmibooc = OutfitManager.ECAAHMIBOOC;
BNGMFBNNBDJ.AddRange(ecaahmibooc);
OutfitManager.ECAAHMIBOOC.Clear();
}
// Token: 0x0600EC3A RID: 60474 RVA: 0x00365870 File Offset: 0x00363A70
[Token(Token = "0x600EC3A")]
[Address(RVA = "0x11DF130", Offset = "0x11DDF30", VA = "0x1811DF130")]
private void ONHCNJEINAK(List<string> LLCIDEKMKBG, string KHFJLAPFOFI, bool HFFCNFLNFPE, EOBKJELFMIA.PFIGBFIKKEG MKAMFBICAAH, EOBKJELFMIA.LFFHCBCBCJJ ALMICNFABOK)
{
int num;
do
{
num = 0;
LLCIDEKMKBG.Clear();
List<string> ebmjijkhkja = this.EBMJIJKHKJA;
List<string>.Enumerator enumerator = LLCIDEKMKBG.GetEnumerator();
bool flag;
if (flag)
{
EOBKJELFMIA eobkjelfmia;
while (eobkjelfmia == 0)
{
}
HOJMGAMMIAD <OHIGJIBAPHD>k__BackingField = eobkjelfmia.<OHIGJIBAPHD>k__BackingField;
if (<OHIGJIBAPHD>k__BackingField != 0 && <OHIGJIBAPHD>k__BackingField.<IPAKFAFGINE>k__BackingField.<EFFHIKNPACF>k__BackingField)
{
continue;
}
bool flag2;
if (!flag2)
{
bool flag3;
while (!flag3)
{
}
}
bool flag4;
bool flag5;
bool flag6;
bool flag7;
bool flag8;
bool flag9;
bool flag10;
bool flag11;
bool flag12;
bool flag13;
if (!flag4 && !flag5 && !flag6 && !flag7 && !flag8 && !flag9 && !flag10 && !flag11 && !flag12 && !flag13)
{
bool flag14;
while (!flag14)
{
}
}
string text2;
if (!KHFJLAPFOFI.LJGBBKKGKOP())
{
string text = eobkjelfmia.<FLFHILBLCOG>k__BackingField.FriendlyName.ToUpperInvariant();
text2 = KHFJLAPFOFI.ToUpperInvariant();
if (!text.Contains(text2))
{
continue;
}
}
LLCIDEKMKBG.Add(text2);
}
}
while (num != 0);
}
// Token: 0x14000109 RID: 265
// (add) Token: 0x0600EC3B RID: 60475 RVA: 0x00365970 File Offset: 0x00363B70
// (remove) Token: 0x0600EC3C RID: 60476 RVA: 0x00365998 File Offset: 0x00363B98
[Token(Token = "0x14000109")]
public event Action<AvatarItem> LGHHLODGCFO
{
[Token(Token = "0x600EC3B")]
[Address(RVA = "0x11E03F0", Offset = "0x11DF1F0", VA = "0x1811E03F0")]
[CompilerGenerated]
add
{
Action<AvatarItem> lghhlodgcfo;
Delegate @delegate;
do
{
lghhlodgcfo = this.LGHHLODGCFO;
@delegate = Delegate.Combine(lghhlodgcfo, value);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != lghhlodgcfo)
{
}
}
[Token(Token = "0x600EC3C")]
[Address(RVA = "0x11E0490", Offset = "0x11DF290", VA = "0x1811E0490")]
[CompilerGenerated]
remove
{
Action<AvatarItem> lghhlodgcfo;
Delegate @delegate;
do
{
lghhlodgcfo = this.LGHHLODGCFO;
@delegate = Delegate.Remove(lghhlodgcfo, value);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != lghhlodgcfo)
{
}
}
}
// Token: 0x17002667 RID: 9831
// (get) Token: 0x0600EC3D RID: 60477 RVA: 0x003659C0 File Offset: 0x00363BC0
[Token(Token = "0x17002667")]
public IReadOnlyCollection<AvatarItem> KOJIFKGBDMG
{
[Token(Token = "0x600EC3D")]
[Address(RVA = "0x423E10", Offset = "0x422C10", VA = "0x180423E10")]
get
{
/*
An exception occurred when decompiling this method (0600EC3D)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IReadOnlyCollection`1<RecRoom.Avatars.Data.Runtime.AvatarItem> RecRoom.Avatars.Outfit.OutfitManager::get_UnlockedAvatarItems()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:class [System.Core]System.Collections.Generic.HashSet`1<valuetype RecRoom.Avatars.Data.Runtime.AvatarItem>(var_0_06, ldfld:class [System.Core]System.Collections.Generic.HashSet`1<valuetype RecRoom.Avatars.Data.Runtime.AvatarItem>(OutfitManager::NKIHCLLANGO, ldloc:OutfitManager(this)))
}
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: 0x0600EC3E RID: 60478 RVA: 0x003659D4 File Offset: 0x00363BD4
[Token(Token = "0x600EC3E")]
[Address(RVA = "0x11DB5E0", Offset = "0x11DA3E0", VA = "0x1811DB5E0")]
public DABKFAIHBBP DownloadDefaultAvatarItems()
{
PMGCJEPKFOF<List<NLEKGNENMCO.EPFHLDCPAOK>> pmgcjepkfof = NLEKGNENMCO.FNCJPGMPOAN();
Action<List<NLEKGNENMCO.EPFHLDCPAOK>> action = new Action(this.ECFAHFBDGBN);
if (OutfitManager.<>c.<>9__34_1 == 0)
{
OutfitManager.<>c.<>9__34_1 = (string e) => "Failed to download default unlocked avatar items: " + e;
}
throw new NullReferenceException();
}
// Token: 0x0600EC3F RID: 60479 RVA: 0x00365A18 File Offset: 0x00363C18
[Token(Token = "0x600EC3F")]
[Address(RVA = "0x11DB810", Offset = "0x11DA610", VA = "0x1811DB810")]
public DABKFAIHBBP DownloadUnlockedAvatarItems()
{
PMGCJEPKFOF<List<NLEKGNENMCO.EPFHLDCPAOK>> pmgcjepkfof = NLEKGNENMCO.JMILOAEBBAK();
Action<List<NLEKGNENMCO.EPFHLDCPAOK>> action = new Action(this.FFOFCNDPEAN);
if (OutfitManager.<>c.<>9__35_1 == 0)
{
OutfitManager.<>c.<>9__35_1 = (string e) => "Failed to download unlocked avatar items: " + e;
}
throw new NullReferenceException();
}
// Token: 0x0600EC40 RID: 60480 RVA: 0x00365A5C File Offset: 0x00363C5C
[Token(Token = "0x600EC40")]
[Address(RVA = "0x11DB750", Offset = "0x11DA550", VA = "0x1811DB750")]
public PMGCJEPKFOF<List<NLEKGNENMCO.EPFHLDCPAOK>> DownloadLockedAvatarItemDetailsByAvatarItemDescription(List<string> DDMOKHDKAIG)
{
PMGCJEPKFOF<List<NLEKGNENMCO.EPFHLDCPAOK>> pmgcjepkfof = NLEKGNENMCO.KLPMNFCFOLE(DDMOKHDKAIG);
Action<List<NLEKGNENMCO.EPFHLDCPAOK>> action = new Action(this.JFAGMLDKOPN);
throw new NullReferenceException();
}
// Token: 0x0600EC41 RID: 60481 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600EC41")]
[Address(RVA = "0x11DB3C0", Offset = "0x11DA1C0", VA = "0x1811DB3C0")]
private void CIEHIDMIMIB(List<NLEKGNENMCO.EPFHLDCPAOK> HLBJKPCGMHA, bool EGKKFNODGHG)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600EC42 RID: 60482 RVA: 0x00365A84 File Offset: 0x00363C84
[Token(Token = "0x600EC42")]
[Address(RVA = "0x11DB1B0", Offset = "0x11D9FB0", VA = "0x1811DB1B0")]
private void BPDDIKFOCPE(AvatarItem LACNEKHKOII, NLEKGNENMCO.EPFHLDCPAOK AFOAIPBOACM)
{
HashSet<AvatarItem> nkihcllango = this.NKIHCLLANGO;
bool flag;
if (flag)
{
Dictionary<AvatarItem, OutfitManager.AvatarItemMetadata> onkbhglcaeg = this.ONKBHGLCAEG;
bool flag2;
if (!flag2)
{
OutfitManager.AvatarItemMetadata avatarItemMetadata = new OutfitManager.AvatarItemMetadata();
Dictionary<AvatarItem, OutfitManager.AvatarItemMetadata> onkbhglcaeg2 = this.ONKBHGLCAEG;
}
string <FNIGMBMFOJL>k__BackingField = AFOAIPBOACM.<FNIGMBMFOJL>k__BackingField;
string <ILKJJMACHPC>k__BackingField = AFOAIPBOACM.<ILKJJMACHPC>k__BackingField;
PGCHMNKBEFJ <IGOLNCKNKMK>k__BackingField = AFOAIPBOACM.<IGOLNCKNKMK>k__BackingField;
}
}
// Token: 0x0600EC43 RID: 60483 RVA: 0x00365AD8 File Offset: 0x00363CD8
[Token(Token = "0x600EC43")]
[Address(RVA = "0x11E0020", Offset = "0x11DEE20", VA = "0x1811E0020")]
public bool UnlockAvatarItemAndMarkNew(string DJHKBMIDFLF)
{
OutfitManager.NKEOOJACMNG nkeoojacmng = new OutfitManager.NKEOOJACMNG();
nkeoojacmng.avatarItemDesc = DJHKBMIDFLF;
nkeoojacmng.<>4__this = this;
HashSet<AvatarItem> nkihcllango = this.NKIHCLLANGO;
bool flag;
if (!flag)
{
return flag;
}
OutfitManager.AvatarItemMetadata avatarItemMetadata;
OutfitManager.AvatarItemMetadata metadata = avatarItemMetadata;
avatarItemMetadata.IsNew = true;
this.EDCLJLEICAC();
if (this.LGHHLODGCFO != 0)
{
}
this.UnlockedAvatarItemsChangedEvent.CNFDGDEOPPF();
PMGCJEPKFOF<List<NLEKGNENMCO.EPFHLDCPAOK>> pmgcjepkfof = NLEKGNENMCO.JMILOAEBBAK();
Action<List<NLEKGNENMCO.EPFHLDCPAOK>> action = delegate(List<NLEKGNENMCO.EPFHLDCPAOK> unlockedAvatarItems)
{
if (unlockedAvatarItems != 0)
{
OutfitManager.NKEOOJACMNG cs$<>8__locals = nkeoojacmng;
Predicate<NLEKGNENMCO.EPFHLDCPAOK> <>9__ = cs$<>8__locals.<>9__1;
if (<>9__ == 0)
{
Predicate<NLEKGNENMCO.EPFHLDCPAOK> predicate = delegate(NLEKGNENMCO.EPFHLDCPAOK uai)
{
string avatarItemDesc = cs$<>8__locals.avatarItemDesc;
return string.Equals(uai.<KHKDPOODHCD>k__BackingField, avatarItemDesc);
};
cs$<>8__locals.<>9__1 = predicate;
}
NLEKGNENMCO.EPFHLDCPAOK epfhldcpaok = unlockedAvatarItems.Find(<>9__);
OutfitManager.AvatarItemMetadata metadata4 = metadata;
string <FNIGMBMFOJL>k__BackingField = epfhldcpaok.<FNIGMBMFOJL>k__BackingField;
metadata4.FriendlyName = <FNIGMBMFOJL>k__BackingField;
OutfitManager.AvatarItemMetadata metadata2 = metadata;
string <ILKJJMACHPC>k__BackingField = epfhldcpaok.<ILKJJMACHPC>k__BackingField;
metadata2.Tooltip = <ILKJJMACHPC>k__BackingField;
OutfitManager.AvatarItemMetadata metadata3 = metadata;
PGCHMNKBEFJ <IGOLNCKNKMK>k__BackingField = epfhldcpaok.<IGOLNCKNKMK>k__BackingField;
metadata3.Rarity = <IGOLNCKNKMK>k__BackingField;
nkeoojacmng.<>4__this.KGJKDAPMLEM(true);
nkeoojacmng.<>4__this.HairColorVault.LinkDyesToWatchStorefront();
bool flag2 = MNHEFLIMKGO.JDJOHHLOEJK();
}
};
throw new NullReferenceException();
}
// Token: 0x0600EC44 RID: 60484 RVA: 0x00365B60 File Offset: 0x00363D60
[Token(Token = "0x600EC44")]
[Address(RVA = "0x11DF0B0", Offset = "0x11DDEB0", VA = "0x1811DF0B0")]
public void MarkNotNew(AvatarItem IOBEPGLJNIP)
{
Dictionary<AvatarItem, OutfitManager.AvatarItemMetadata> onkbhglcaeg = this.ONKBHGLCAEG;
bool flag;
if (flag)
{
}
}
// Token: 0x0600EC45 RID: 60485 RVA: 0x00365B80 File Offset: 0x00363D80
[Token(Token = "0x600EC45")]
[Address(RVA = "0x11DEFE0", Offset = "0x11DDDE0", VA = "0x1811DEFE0")]
public void MarkGiftPackageItemAvailable(string DJHKBMIDFLF)
{
Dictionary<AvatarItem, OutfitManager.AvatarItemMetadata> onkbhglcaeg = this.ONKBHGLCAEG;
bool flag;
if (!flag)
{
OutfitManager.AvatarItemMetadata avatarItemMetadata = new OutfitManager.AvatarItemMetadata();
Dictionary<AvatarItem, OutfitManager.AvatarItemMetadata> onkbhglcaeg2 = this.ONKBHGLCAEG;
}
}
// Token: 0x0600EC46 RID: 60486 RVA: 0x00365BB0 File Offset: 0x00363DB0
[Token(Token = "0x600EC46")]
[Address(RVA = "0x11DDAD0", Offset = "0x11DC8D0", VA = "0x1811DDAD0")]
public bool IsAvatarItemUnlocked(AvatarItem LACNEKHKOII)
{
HashSet<AvatarItem> nkihcllango = this.NKIHCLLANGO;
bool flag;
return flag;
}
// Token: 0x0600EC47 RID: 60487 RVA: 0x00365BC8 File Offset: 0x00363DC8
[Token(Token = "0x600EC47")]
[Address(RVA = "0x11DDB30", Offset = "0x11DC930", VA = "0x1811DDB30")]
public bool IsAvatarItemUnlocked(string DJHKBMIDFLF)
{
/*
An exception occurred when decompiling this method (0600EC47)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean RecRoom.Avatars.Outfit.OutfitManager::IsAvatarItemUnlocked(System.String)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:class [System.Core]System.Collections.Generic.HashSet`1<valuetype RecRoom.Avatars.Data.Runtime.AvatarItem>(var_1_06, ldfld:class [System.Core]System.Collections.Generic.HashSet`1<valuetype RecRoom.Avatars.Data.Runtime.AvatarItem>(OutfitManager::NKIHCLLANGO, ldloc:OutfitManager(this)))
}
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: 0x0600EC48 RID: 60488 RVA: 0x00365BE0 File Offset: 0x00363DE0
[Token(Token = "0x600EC48")]
[Address(RVA = "0x11DDA20", Offset = "0x11DC820", VA = "0x1811DDA20")]
public bool IsAvatarItemAlreadyPurchased(AvatarItem LACNEKHKOII)
{
string text = LACNEKHKOII._avatarItemVisualData.JOPJHHOJMEE();
return SingletonMonoBehaviour.ONCPNMDGGKG.IsOutfitAvailableInGiftPackageQueue(text) || this.IsAvatarItemUnlocked(text);
}
// Token: 0x0600EC49 RID: 60489 RVA: 0x00365C18 File Offset: 0x00363E18
[Token(Token = "0x600EC49")]
[Address(RVA = "0x11DD980", Offset = "0x11DC780", VA = "0x1811DD980")]
public bool IsAvatarItemAlreadyPurchased(string DJHKBMIDFLF)
{
return SingletonMonoBehaviour.ONCPNMDGGKG.IsOutfitAvailableInGiftPackageQueue(DJHKBMIDFLF) || this.IsAvatarItemUnlocked(DJHKBMIDFLF);
}
// Token: 0x0600EC4A RID: 60490 RVA: 0x00365C44 File Offset: 0x00363E44
[Token(Token = "0x600EC4A")]
[Address(RVA = "0x11DC690", Offset = "0x11DB490", VA = "0x1811DC690")]
public bool GetItemIsNew(AvatarItem IOBEPGLJNIP)
{
Dictionary<AvatarItem, OutfitManager.AvatarItemMetadata> onkbhglcaeg = this.ONKBHGLCAEG;
bool flag;
if (!flag)
{
return flag;
}
throw new NullReferenceException();
}
// Token: 0x0600EC4B RID: 60491 RVA: 0x00365C64 File Offset: 0x00363E64
[Token(Token = "0x600EC4B")]
[Address(RVA = "0x11DC5F0", Offset = "0x11DB3F0", VA = "0x1811DC5F0")]
public string GetItemFriendlyName(AvatarItem IOBEPGLJNIP)
{
Dictionary<AvatarItem, OutfitManager.AvatarItemMetadata> onkbhglcaeg = this.ONKBHGLCAEG;
bool flag;
if (!flag)
{
return string.Empty;
}
throw new NullReferenceException();
}
// Token: 0x0600EC4C RID: 60492 RVA: 0x00365C88 File Offset: 0x00363E88
[Token(Token = "0x600EC4C")]
[Address(RVA = "0x11DC880", Offset = "0x11DB680", VA = "0x1811DC880")]
public string GetItemTooltip(AvatarItem IOBEPGLJNIP)
{
Dictionary<AvatarItem, OutfitManager.AvatarItemMetadata> onkbhglcaeg = this.ONKBHGLCAEG;
bool flag;
if (!flag)
{
return string.Empty;
}
throw new NullReferenceException();
}
// Token: 0x0600EC4D RID: 60493 RVA: 0x00365CAC File Offset: 0x00363EAC
[Token(Token = "0x600EC4D")]
[Address(RVA = "0x11DC7F0", Offset = "0x11DB5F0", VA = "0x1811DC7F0")]
public PGCHMNKBEFJ GetItemRarity(AvatarItem IOBEPGLJNIP)
{
Dictionary<AvatarItem, OutfitManager.AvatarItemMetadata> onkbhglcaeg = this.ONKBHGLCAEG;
bool flag;
if (!flag)
{
return PGCHMNKBEFJ.None;
}
throw new NullReferenceException();
}
// Token: 0x0600EC4E RID: 60494 RVA: 0x00365CCC File Offset: 0x00363ECC
[Token(Token = "0x600EC4E")]
[Address(RVA = "0x11DC720", Offset = "0x11DB520", VA = "0x1811DC720")]
public OutfitManager.AvatarItemMetadata GetItemMetadata(AvatarItem IOBEPGLJNIP)
{
Dictionary<AvatarItem, OutfitManager.AvatarItemMetadata> onkbhglcaeg = this.ONKBHGLCAEG;
bool flag;
if (!flag)
{
new OutfitManager.AvatarItemMetadata().IsNew = false;
Dictionary<AvatarItem, OutfitManager.AvatarItemMetadata> onkbhglcaeg2 = this.ONKBHGLCAEG;
}
throw new NullReferenceException();
}
// Token: 0x0600EC4F RID: 60495 RVA: 0x00365CFC File Offset: 0x00363EFC
[Token(Token = "0x600EC4F")]
[Address(RVA = "0x11DB990", Offset = "0x11DA790", VA = "0x1811DB990")]
private void EDCLJLEICAC()
{
HashSet<AvatarItem> nkihcllango = this.NKIHCLLANGO;
Func<AvatarItem, OutfitType> <>9__51_ = OutfitManager.<>c.<>9__51_0;
if (<>9__51_ == 0)
{
OutfitManager.<>c.<>9__51_0 = delegate(AvatarItem i)
{
throw new NullReferenceException();
};
}
IEnumerable enumerable = Enumerable.GroupBy<AvatarItem, OutfitType>(nkihcllango, <>9__51_);
Func<IGrouping<OutfitType, AvatarItem>, OutfitType> func;
if (OutfitManager.<>c.<>9__51_1 == 0)
{
func = delegate(IGrouping<OutfitType, AvatarItem> g)
{
throw new NullReferenceException();
};
OutfitManager.<>c.<>9__51_1 = func;
}
Func<IGrouping<OutfitType, AvatarItem>, List<AvatarItem>> func2;
if (OutfitManager.<>c.<>9__51_2 == 0)
{
func2 = (IGrouping<OutfitType, AvatarItem> g) => Enumerable.ToList<AvatarItem>(g);
OutfitManager.<>c.<>9__51_2 = func2;
}
Dictionary<IGrouping<OutfitType, AvatarItem>, OutfitType> dictionary = Enumerable.ToDictionary<IGrouping<OutfitType, AvatarItem>, OutfitType, List<AvatarItem>>(enumerable, func, func2);
this.FCBILBFBCGJ = dictionary;
}
// Token: 0x0600EC50 RID: 60496 RVA: 0x00365D8C File Offset: 0x00363F8C
[Token(Token = "0x600EC50")]
[Address(RVA = "0x11DD4F0", Offset = "0x11DC2F0", VA = "0x1811DD4F0")]
public List<AvatarItemSelection> GetRandomUnlockedOutfit()
{
int num;
List<AvatarItemSelection> list;
do
{
num = 0;
list = new List();
Dictionary<OutfitType, List<AvatarItem>> fcbilbfbcgj = this.FCBILBFBCGJ;
bool flag;
if (flag)
{
if (global::UnityEngine.Random.value > 0.5f)
{
continue;
}
bool flag2;
int num2;
if (!flag2)
{
num2 = 0;
if (global::UnityEngine.Random.value > 0.3f)
{
continue;
}
}
while (this.FNPHHGHPGAI <= (ulong)0L)
{
}
AvatarItem avatarItem = ECNNGIFNNNM.NBMJEPIPHGC<AvatarItem>(num2);
int num3 = 0;
int num4 = (int)((OutfitType)num2).LJHEGHEHPEK((AvatarItemHandEquipType)num3);
list.Add(num3);
while (num4 != 2)
{
}
list.Add(num3);
}
}
while (num != 0);
return list;
}
// Token: 0x0600EC51 RID: 60497 RVA: 0x00365E2C File Offset: 0x0036402C
[Token(Token = "0x600EC51")]
[Address(RVA = "0x11DD1B0", Offset = "0x11DBFB0", VA = "0x1811DD1B0")]
public List<AvatarItemSelection> GetRandomInitialOutfit()
{
int num = 0;
List<AvatarItem> initialAvatarItems = AvatarItemWardrobeRuntimeConfig.Config.initialAvatarItems;
Func<AvatarItem, bool> <>9__53_ = OutfitManager.<>c.<>9__53_0;
if (<>9__53_ == 0)
{
OutfitManager.<>c.<>9__53_0 = (AvatarItem item) => "{il2cpp field on {'constant1' (constant value of type Cpp2IL.Core.Analysis.Il2CppClassIdentifier)}, offset 0x20}" == (ulong)2L;
}
bool flag = OutfitManager.TryGetRandomItem(initialAvatarItems, <>9__53_, num);
List<AvatarItem> initialAvatarItems2 = AvatarItemWardrobeRuntimeConfig.Config.initialAvatarItems;
Func<AvatarItem, bool> func;
if (OutfitManager.<>c.<>9__53_1 == 0)
{
func = (AvatarItem item) => "{il2cpp field on {'constant1' (constant value of type Cpp2IL.Core.Analysis.Il2CppClassIdentifier)}, offset 0x20}" == (ulong)101L;
OutfitManager.<>c.<>9__53_1 = func;
}
bool flag2 = OutfitManager.TryGetRandomItem(initialAvatarItems2, func, num);
if (!flag || !flag2)
{
Debug.LogError("Error building initial outfit!");
}
return new List { num, num };
}
// Token: 0x0600EC52 RID: 60498 RVA: 0x00365EE4 File Offset: 0x003640E4
[Token(Token = "0x600EC52")]
[Address(RVA = "0x11DFDA0", Offset = "0x11DEBA0", VA = "0x1811DFDA0")]
public static bool TryGetRandomItem(IEnumerable<AvatarItem> NPKMLLECNOF, Func<AvatarItem, bool> LMAJKCLDDIF, out AvatarItem NNLFIDNBHDK)
{
OutfitManager.FNPHHGHPGAI.Clear();
if (LMAJKCLDDIF != 0)
{
List<AvatarItem> fnphhghpgai = OutfitManager.FNPHHGHPGAI;
IEnumerable<AvatarItem> enumerable = Enumerable.Where<AvatarItem>(NPKMLLECNOF, LMAJKCLDDIF);
}
OutfitManager.FNPHHGHPGAI.AddRange(NPKMLLECNOF);
List<AvatarItem> fnphhghpgai2 = OutfitManager.FNPHHGHPGAI;
OutfitManager.FNPHHGHPGAI.Clear();
int num = 0;
NNLFIDNBHDK._avatarItemData = num;
NNLFIDNBHDK._avatarItemVisualData = num;
throw new NullReferenceException();
}
// Token: 0x0600EC53 RID: 60499 RVA: 0x00365F40 File Offset: 0x00364140
[Token(Token = "0x600EC53")]
[Address(RVA = "0x11DFFA0", Offset = "0x11DEDA0", VA = "0x1811DFFA0")]
public bool TryGetRandomUnlockedItem(Func<AvatarItem, bool> LMAJKCLDDIF, out AvatarItem NNLFIDNBHDK)
{
return OutfitManager.TryGetRandomItem(this.NKIHCLLANGO, LMAJKCLDDIF, ref NNLFIDNBHDK);
}
// Token: 0x0600EC54 RID: 60500 RVA: 0x00365F5C File Offset: 0x0036415C
[Token(Token = "0x600EC54")]
[Address(RVA = "0x11DFB50", Offset = "0x11DE950", VA = "0x1811DFB50")]
public bool TryGetDefaultTorsoItem(out AvatarItem JAAMIJFBHDL)
{
List<AvatarItem> defaultTorsoAvatarItems;
Func<AvatarItem, bool> <>9__56_;
do
{
defaultTorsoAvatarItems = AvatarItemWardrobeRuntimeConfig.Config.defaultTorsoAvatarItems;
<>9__56_ = OutfitManager.<>c.<>9__56_0;
if (<>9__56_ == 0)
{
OutfitManager.<>c.<>9__56_0 = (AvatarItem item) => "{il2cpp field on {'constant1' (constant value of type Cpp2IL.Core.Analysis.Il2CppClassIdentifier)}, offset 0x20}" == (ulong)101L;
}
}
while (OutfitManager.TryGetRandomItem(defaultTorsoAvatarItems, <>9__56_, ref JAAMIJFBHDL));
Func<AvatarItem, bool> func;
if (OutfitManager.<>c.<>9__56_1 == 0)
{
func = (AvatarItem item) => "{il2cpp field on {'constant1' (constant value of type Cpp2IL.Core.Analysis.Il2CppClassIdentifier)}, offset 0x20}" == (ulong)101L;
OutfitManager.<>c.<>9__56_1 = func;
}
return OutfitManager.TryGetRandomItem(this.NKIHCLLANGO, func, ref JAAMIJFBHDL);
}
// Token: 0x0600EC55 RID: 60501 RVA: 0x00365FD4 File Offset: 0x003641D4
[Token(Token = "0x600EC55")]
[Address(RVA = "0x11DBCB0", Offset = "0x11DAAB0", VA = "0x1811DBCB0")]
public AvatarBodyShape FindBodyShape(string BIPOJLIEOIB)
{
return this.BodyShapeVault.Find(BIPOJLIEOIB);
}
// Token: 0x0600EC56 RID: 60502 RVA: 0x00365FF4 File Offset: 0x003641F4
[Token(Token = "0x600EC56")]
[Address(RVA = "0x11DBCE0", Offset = "0x11DAAE0", VA = "0x1811DBCE0")]
public AvatarFaceShape FindFaceShape(string EBCJKIKPFMG)
{
AvatarFaceShapeVault faceShapeVault = this.FaceShapeVault;
Dictionary<string, AvatarFaceShape> gbehdbbngmh = faceShapeVault.GBEHDBBNGMH;
throw new NullReferenceException();
}
// Token: 0x0600EC57 RID: 60503 RVA: 0x00366030 File Offset: 0x00364230
[Token(Token = "0x600EC57")]
[Address(RVA = "0x11DC350", Offset = "0x11DB150", VA = "0x1811DC350")]
public AvatarCustomizationSettings GetDefaultCustomizationSettings()
{
AvatarCustomizationSettings avatarCustomizationSettings = new AvatarCustomizationSettings();
string guidString = this.FaceStyleSet.Eyes[0].GuidString;
avatarCustomizationSettings.eyeId = guidString;
FaceStyleSet faceStyleSet = this.FaceStyleSet;
if ((ulong)1L == 0UL)
{
}
string guidString2 = faceStyleSet.Mouths[0].GuidString;
avatarCustomizationSettings.mouthId = guidString2;
AvatarFaceShape avatarFaceShape = Enumerable.First<AvatarFaceShape>(this.FaceShapeVault.AvatarFaceShapes);
int num = 0;
if (avatarFaceShape != 0)
{
}
avatarCustomizationSettings.faceShapeId = num;
AvatarBodyShape @default = this.BodyShapeVault.GetDefault();
string guidString3;
if (@default != 0)
{
guidString3 = @default.guidString;
}
avatarCustomizationSettings.bodyShapeId = guidString3;
avatarCustomizationSettings.useHatAnchorParams = true;
return avatarCustomizationSettings;
}
// Token: 0x0600EC58 RID: 60504 RVA: 0x003660DC File Offset: 0x003642DC
[Token(Token = "0x600EC58")]
[Address(RVA = "0x11DC920", Offset = "0x11DB720", VA = "0x1811DC920")]
public AvatarCustomizationSettings GetRandomCustomizationSettings()
{
AvatarCustomizationSettings avatarCustomizationSettings;
HairPatternVault hairPatternVault;
int num3;
do
{
avatarCustomizationSettings = new AvatarCustomizationSettings();
FaceStyleSet faceStyleSet = this.FaceStyleSet;
int length = faceStyleSet.Eyes.Length;
int num = global::UnityEngine.Random.Range(0, length);
string guidString = faceStyleSet.Eyes[num].GuidString;
avatarCustomizationSettings.eyeId = guidString;
FaceStyleSet faceStyleSet2 = this.FaceStyleSet;
int length2 = faceStyleSet2.Mouths.Length;
int num2 = global::UnityEngine.Random.Range(0, length2);
string guidString2 = faceStyleSet2.Mouths[num2].GuidString;
avatarCustomizationSettings.mouthId = guidString2;
hairPatternVault = this.HairPatternVault;
num3 = 0;
if (string.IsNullOrEmpty("") || hairPatternVault.NGGNGAEEKJH.TryGetValue("", num3))
{
}
}
while (num3 != 0);
if (global::UnityEngine.Random.value <= 0.5f)
{
AvatarHairPattern avatarHairPattern = ECNNGIFNNNM.NBMJEPIPHGC<AvatarHairPattern>(hairPatternVault.patterns);
}
string guidString3 = hairPatternVault.Default.guidString;
avatarCustomizationSettings.hairPatternId = guidString3;
HairColorVault hairColorVault = this.HairColorVault;
string guidString4 = this.BEAFBGLAPJE(hairColorVault, "", true).guidString;
avatarCustomizationSettings.hairPrimaryColorId = guidString4;
HairColorVault hairColorVault2 = this.HairColorVault;
string guidString5 = this.BEAFBGLAPJE(hairColorVault2, "", true).guidString;
avatarCustomizationSettings.hairSecondaryColorId = guidString5;
HairColorVault hairColorVault3 = this.HairColorVault;
string guidString6 = this.BEAFBGLAPJE(hairColorVault3, "", true).guidString;
avatarCustomizationSettings.beardColorId = guidString6;
HairColorVault hairColorVault4 = this.HairColorVault;
string guidString7 = this.BEAFBGLAPJE(hairColorVault4, "", true).guidString;
avatarCustomizationSettings.beardSecondaryColorId = guidString7;
string guidString8 = ECNNGIFNNNM.NBMJEPIPHGC<AvatarFaceShape>(this.FaceShapeVault.AvatarFaceShapes).guidString;
avatarCustomizationSettings.faceShapeId = guidString8;
string guidString9 = this.BodyShapeVault.GetRandom().guidString;
avatarCustomizationSettings.bodyShapeId = guidString9;
float num4 = FJFHDHBBFKE.MJKHBBDDDBL(30);
num4 = FJFHDHBBFKE.MJKHBBDDDBL(30);
avatarCustomizationSettings.eyePos = num3;
avatarCustomizationSettings.eyePos.y = (float)0;
float num5 = FJFHDHBBFKE.MJKHBBDDDBL(30);
float num6;
avatarCustomizationSettings.eyeScl = num6;
num5 = FJFHDHBBFKE.MJKHBBDDDBL(30);
num4 = FJFHDHBBFKE.MJKHBBDDDBL(30);
avatarCustomizationSettings.mouthPos = num3;
avatarCustomizationSettings.mouthPos.y = (float)0;
num4 = FJFHDHBBFKE.MJKHBBDDDBL(30);
float num7;
avatarCustomizationSettings.mouthScl = num7;
avatarCustomizationSettings.useHatAnchorParams = true;
return avatarCustomizationSettings;
}
// Token: 0x0600EC59 RID: 60505 RVA: 0x00366330 File Offset: 0x00364530
[Token(Token = "0x600EC59")]
[Address(RVA = "0x11DBD70", Offset = "0x11DAB70", VA = "0x1811DBD70")]
public ColorVault.ColorToGuid FindHairColor(string BEIINJFEFJP, bool GNHMIFPDACD = true)
{
HairColorVault hairColorVault = this.HairColorVault;
return this.BEAFBGLAPJE(hairColorVault, BEIINJFEFJP, GNHMIFPDACD);
}
// Token: 0x0600EC5A RID: 60506 RVA: 0x00366350 File Offset: 0x00364550
[Token(Token = "0x600EC5A")]
[Address(RVA = "0x11DBEA0", Offset = "0x11DACA0", VA = "0x1811DBEA0")]
public ColorVault.ColorToGuid FindSkinColor(string IMLCGOCPBOC, bool GNHMIFPDACD = true)
{
ColorVault skinColorVault = this.SkinColorVault;
return this.BEAFBGLAPJE(skinColorVault, IMLCGOCPBOC, GNHMIFPDACD);
}
// Token: 0x0600EC5B RID: 60507 RVA: 0x00366370 File Offset: 0x00364570
[Token(Token = "0x600EC5B")]
[Address(RVA = "0x11DAE00", Offset = "0x11D9C00", VA = "0x1811DAE00")]
private ColorVault.ColorToGuid BEAFBGLAPJE(ColorVault MMHAGMACGKJ, string CBCHEMNOLBO, bool GNHMIFPDACD = true)
{
Dictionary<string, ColorVault.ColorToGuid> kehdhflkclo = MMHAGMACGKJ.KEHDHFLKCLO;
throw new NullReferenceException();
}
// Token: 0x0600EC5C RID: 60508 RVA: 0x00366424 File Offset: 0x00364624
[Token(Token = "0x600EC5C")]
[Address(RVA = "0x11DBDA0", Offset = "0x11DABA0", VA = "0x1811DBDA0")]
public AvatarHairPattern FindHairPattern(string COFLAJFOPEN, bool GNHMIFPDACD = true)
{
HairPatternVault hairPatternVault;
int num;
do
{
hairPatternVault = this.HairPatternVault;
num = 0;
if (hairPatternVault.NGGNGAEEKJH.TryGetValue(COFLAJFOPEN, num))
{
}
}
while (num != 0);
if (GNHMIFPDACD && global::UnityEngine.Random.value <= 0.5f)
{
AvatarHairPattern avatarHairPattern = ECNNGIFNNNM.NBMJEPIPHGC<AvatarHairPattern>(hairPatternVault.patterns);
}
return hairPatternVault.Default;
}
// Token: 0x0600EC5D RID: 60509 RVA: 0x00366478 File Offset: 0x00364678
[Token(Token = "0x600EC5D")]
[Address(RVA = "0x11DF4A0", Offset = "0x11DE2A0", VA = "0x1811DF4A0")]
private AvatarHairPattern PICKKDOCAGJ(HairPatternVault MMHAGMACGKJ, string COFLAJFOPEN, bool GNHMIFPDACD = true)
{
int num;
do
{
num = 0;
if (MMHAGMACGKJ.NGGNGAEEKJH.TryGetValue(COFLAJFOPEN, num))
{
}
}
while (num != 0);
if (GNHMIFPDACD && global::UnityEngine.Random.value <= 0.5f)
{
AvatarHairPattern avatarHairPattern = ECNNGIFNNNM.NBMJEPIPHGC<AvatarHairPattern>(MMHAGMACGKJ.patterns);
}
return MMHAGMACGKJ.Default;
}
// Token: 0x0600EC5E RID: 60510 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600EC5E")]
[Address(RVA = "0x11DDED0", Offset = "0x11DCCD0", VA = "0x1811DDED0")]
private OutfitTool JHGCPGJHJHF(string FNKOCNMJKLK, Player FAGBHOMBNBP, AvatarItem? LACNEKHKOII, PlayerSpawnedEquipment.IILDIBHEIDO OEFOIFHDBEN)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600EC5F RID: 60511 RVA: 0x003664C8 File Offset: 0x003646C8
[Token(Token = "0x600EC5F")]
[Address(RVA = "0x11DEB70", Offset = "0x11DD970", VA = "0x1811DEB70")]
private Tool LPGADCJPHHD(string FNKOCNMJKLK, Player FAGBHOMBNBP, string CBCHEMNOLBO, PlayerSpawnedEquipment.IILDIBHEIDO OEFOIFHDBEN)
{
Dictionary<string, object> dictionary = new Dictionary();
AGAJMBPABDL photonPlayer = FAGBHOMBNBP.DBAJDHGDPOL;
int inpoaaaoahi = photonPlayer.INPOAAAOAHI;
dictionary.Add("Owner", photonPlayer);
dictionary.Add("Purpose", photonPlayer);
dictionary.Add("ColorGuid", CBCHEMNOLBO);
Quaternion identity = Quaternion.identity;
int viewIdField = base.JDHMIOJKLCK.viewIdField;
Tool tool;
tool.DODDBBEOJNN = true;
PlayerSpawnedEquipment <FLFJCIPBAPA>k__BackingField = tool.<FLFJCIPBAPA>k__BackingField;
int num = 0;
if (<FLFJCIPBAPA>k__BackingField != num)
{
PlayerSpawnedEquipment <FLFJCIPBAPA>k__BackingField2 = tool.<FLFJCIPBAPA>k__BackingField;
int num2 = 0;
<FLFJCIPBAPA>k__BackingField2.GDAMPIOMCNE = num2 != 0;
}
return tool;
}
// Token: 0x0600EC60 RID: 60512 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600EC60")]
[Address(RVA = "0x11DF780", Offset = "0x11DE580", VA = "0x1811DF780")]
public PMGCJEPKFOF<OutfitRenderSetup> SpawnOutfitImposter(AvatarItem LACNEKHKOII)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600EC61 RID: 60513 RVA: 0x00366564 File Offset: 0x00364764
[Token(Token = "0x600EC61")]
[Address(RVA = "0x11DF5A0", Offset = "0x11DE3A0", VA = "0x1811DF5A0")]
public GameObject SpawnHairDyeImposter(string KGKDKGBFDIA)
{
ColorVault.ColorToGuid dyeColor = this.HairColorVault.GetDyeColor(KGKDKGBFDIA);
if (dyeColor != 0)
{
int num = 0;
bool flag = ColorVault.ColorToGuid.BDBLGMKABNK(0, num);
HairDyeRenderSetup hairDyeRenderSetup = this.hairDyeImposterPrefab;
int num2 = 0;
HairDyeRenderSetup hairDyeRenderSetup2 = JODFIHBJHJM.EIJJOKINEIL<HairDyeRenderSetup>(hairDyeRenderSetup, num2, true);
hairDyeRenderSetup2.SetupRenderers(dyeColor);
return hairDyeRenderSetup2.gameObject;
}
throw new NullReferenceException();
}
// Token: 0x0600EC62 RID: 60514 RVA: 0x003665BC File Offset: 0x003647BC
[Token(Token = "0x600EC62")]
[Address(RVA = "0x11DF910", Offset = "0x11DE710", VA = "0x1811DF910")]
public OutfitTool SpawnOutfitToolForLocalPlayer(AvatarItem FIDIMMBHIIN, PlayerSpawnedEquipment.IILDIBHEIDO OEFOIFHDBEN)
{
string name = this.outfitToolPrefab.name;
OutfitTool outfitTool;
return outfitTool;
}
// Token: 0x0600EC63 RID: 60515 RVA: 0x003665E4 File Offset: 0x003647E4
[Token(Token = "0x600EC63")]
[Address(RVA = "0x11DF680", Offset = "0x11DE480", VA = "0x1811DF680")]
public Tool SpawnHairDyeToolForLocalPlayer(string KGKDKGBFDIA, PlayerSpawnedEquipment.IILDIBHEIDO OEFOIFHDBEN)
{
string name = this.hairDyeToolPrefab.name;
Tool tool;
return tool;
}
// Token: 0x0600EC64 RID: 60516 RVA: 0x00366608 File Offset: 0x00364808
[Token(Token = "0x600EC64")]
[Address(RVA = "0x11DFA80", Offset = "0x11DE880", VA = "0x1811DFA80")]
public OutfitToolUIControl SpawnOutfitUIControl()
{
return global::UnityEngine.Object.Instantiate<OutfitToolUIControl>(this.outfitToolUIControlPrefab);
}
// Token: 0x17002668 RID: 9832
// (get) Token: 0x0600EC65 RID: 60517 RVA: 0x00366620 File Offset: 0x00364820
[Token(Token = "0x17002668")]
public RecRoomAudioClip[] NIOOLMDKBHO
{
[Token(Token = "0x600EC65")]
[Address(RVA = "0x8C1910", Offset = "0x8C0710", VA = "0x1808C1910")]
get
{
return this.equipSounds;
}
}
// Token: 0x17002669 RID: 9833
// (get) Token: 0x0600EC66 RID: 60518 RVA: 0x00366634 File Offset: 0x00364834
[Token(Token = "0x17002669")]
public RecRoomAudioClip BFDIIFNGIJH
{
[Token(Token = "0x600EC66")]
[Address(RVA = "0x5F4E40", Offset = "0x5F3C40", VA = "0x1805F4E40")]
get
{
return this.lockedOutfitToolClip;
}
}
// Token: 0x0600EC67 RID: 60519 RVA: 0x00366648 File Offset: 0x00364848
[Token(Token = "0x600EC67")]
[Address(RVA = "0x11E02D0", Offset = "0x11DF0D0", VA = "0x1811E02D0")]
public OutfitManager()
{
Dictionary<string, EOBKJELFMIA> dictionary = new Dictionary();
this.KHLONOLLNNF = dictionary;
List<string> list = new List();
this.EBMJIJKHKJA = list;
int num;
int num2;
OKNNKFGFODL oknnkfgfodl = new OKNNKFGFODL(32, num != 0, num2 != 0);
num2 = 0;
num = 0;
this.UnlockedAvatarItemsChangedEvent = oknnkfgfodl;
HashSet<AvatarItem> hashSet = new HashSet();
this.NKIHCLLANGO = hashSet;
Dictionary<AvatarItem, OutfitManager.AvatarItemMetadata> dictionary2 = new Dictionary();
this.ONKBHGLCAEG = dictionary2;
base..ctor();
}
// Token: 0x0600EC68 RID: 60520 RVA: 0x003666AC File Offset: 0x003648AC
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600EC68")]
[Address(RVA = "0x11E01D0", Offset = "0x11DEFD0", VA = "0x1811E01D0")]
static OutfitManager()
{
int num;
int num2;
OKNNKFGFODL oknnkfgfodl = new OKNNKFGFODL(32, num != 0, num2 != 0);
num2 = 0;
num = 0;
OutfitManager.BrowsableItemsChangedEvent = oknnkfgfodl;
OutfitManager.FNPHHGHPGAI = new List();
}
// Token: 0x0600EC69 RID: 60521 RVA: 0x003666EC File Offset: 0x003648EC
[Token(Token = "0x600EC69")]
[Address(RVA = "0x11DEE00", Offset = "0x11DDC00", VA = "0x1811DEE00")]
[CompilerGenerated]
private void MJGDMNODGJO(BKFGFHDDNFG NHACFCEIPCB)
{
List<HOJMGAMMIAD> jdgebbmdjbc = NHACFCEIPCB.JDGEBBMDJBC;
bool flag;
if (flag)
{
while (!flag)
{
}
EOBKJELFMIA eobkjelfmia;
if (eobkjelfmia == 0)
{
}
}
}
// Token: 0x0600EC6A RID: 60522 RVA: 0x00366714 File Offset: 0x00364914
[Token(Token = "0x600EC6A")]
[Address(RVA = "0x11DB980", Offset = "0x11DA780", VA = "0x1811DB980")]
[CompilerGenerated]
private void ECFAHFBDGBN(List<NLEKGNENMCO.EPFHLDCPAOK> BOOHBJEEGKH)
{
int num = 0;
this.CIEHIDMIMIB(BOOHBJEEGKH, num != 0);
}
// Token: 0x0600EC6B RID: 60523 RVA: 0x0036672C File Offset: 0x0036492C
[Token(Token = "0x600EC6B")]
[Address(RVA = "0x11DBBF0", Offset = "0x11DA9F0", VA = "0x1811DBBF0")]
[CompilerGenerated]
private void FFOFCNDPEAN(List<NLEKGNENMCO.EPFHLDCPAOK> BOOHBJEEGKH)
{
this.CIEHIDMIMIB(BOOHBJEEGKH, true);
}
// Token: 0x0600EC6C RID: 60524 RVA: 0x00366744 File Offset: 0x00364944
[Token(Token = "0x600EC6C")]
[Address(RVA = "0x11DDC70", Offset = "0x11DCA70", VA = "0x1811DDC70")]
[CompilerGenerated]
private void JFAGMLDKOPN(List<NLEKGNENMCO.EPFHLDCPAOK> MNMHKKIMEFP)
{
bool flag;
if (flag)
{
Dictionary<AvatarItem, OutfitManager.AvatarItemMetadata> onkbhglcaeg = this.ONKBHGLCAEG;
bool flag2;
if (!flag2)
{
OutfitManager.AvatarItemMetadata avatarItemMetadata = new OutfitManager.AvatarItemMetadata();
int num = 0;
this.ONKBHGLCAEG[num] = avatarItemMetadata;
}
object syncRoot = MNMHKKIMEFP._syncRoot;
}
}
// Token: 0x04009C21 RID: 39969
[Token(Token = "0x4009C21")]
private static readonly List<string> DMGKEKJIEMA = new List();
// Token: 0x04009C22 RID: 39970
[Token(Token = "0x4009C22")]
private static readonly List<string> ECAAHMIBOOC = new List();
// Token: 0x04009C23 RID: 39971
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4009C23")]
private readonly Dictionary<string, EOBKJELFMIA> KHLONOLLNNF;
// Token: 0x04009C24 RID: 39972
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4009C24")]
private readonly List<string> EBMJIJKHKJA;
// Token: 0x04009C25 RID: 39973
[Token(Token = "0x4009C25")]
public static readonly OKNNKFGFODL BrowsableItemsChangedEvent;
// Token: 0x04009C26 RID: 39974
[Token(Token = "0x4009C26")]
private static readonly List<AvatarItem> FNPHHGHPGAI;
// Token: 0x04009C28 RID: 39976
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4009C28")]
public readonly OKNNKFGFODL UnlockedAvatarItemsChangedEvent;
// Token: 0x04009C29 RID: 39977
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4009C29")]
private Dictionary<OutfitType, List<AvatarItem>> FCBILBFBCGJ;
// Token: 0x04009C2A RID: 39978
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4009C2A")]
private readonly HashSet<AvatarItem> NKIHCLLANGO;
// Token: 0x04009C2B RID: 39979
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4009C2B")]
private readonly Dictionary<AvatarItem, OutfitManager.AvatarItemMetadata> ONKBHGLCAEG;
// Token: 0x04009C2C RID: 39980
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4009C2C")]
[Header("Face Shapes")]
public AvatarFaceShapeVault FaceShapeVault;
// Token: 0x04009C2D RID: 39981
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x4009C2D")]
[Header("Face Features")]
public FaceStyleSet FaceStyleSet;
// Token: 0x04009C2E RID: 39982
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x4009C2E")]
[Header("Body Shapes")]
public AvatarBodyShapeVault BodyShapeVault;
// Token: 0x04009C2F RID: 39983
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x4009C2F")]
[Header("Colors")]
public ColorVault SkinColorVault;
// Token: 0x04009C30 RID: 39984
[FieldOffset(Offset = "0x98")]
[Token(Token = "0x4009C30")]
public HairColorVault HairColorVault;
// Token: 0x04009C31 RID: 39985
[FieldOffset(Offset = "0xA0")]
[Token(Token = "0x4009C31")]
[Header("Patterns")]
public HairPatternVault HairPatternVault;
// Token: 0x04009C32 RID: 39986
[FieldOffset(Offset = "0xA8")]
[Token(Token = "0x4009C32")]
[SerializeField]
[Header("Item spawning")]
private GameObject outfitToolPrefab;
// Token: 0x04009C33 RID: 39987
[FieldOffset(Offset = "0xB0")]
[Token(Token = "0x4009C33")]
[SerializeField]
private OutfitRenderSetup outfitImposterPrefab;
// Token: 0x04009C34 RID: 39988
[FieldOffset(Offset = "0xB8")]
[Token(Token = "0x4009C34")]
[SerializeField]
private OutfitToolUIControl outfitToolUIControlPrefab;
// Token: 0x04009C35 RID: 39989
[FieldOffset(Offset = "0xC0")]
[Token(Token = "0x4009C35")]
[SerializeField]
private PermanentHairDyeTool hairDyeToolPrefab;
// Token: 0x04009C36 RID: 39990
[FieldOffset(Offset = "0xC8")]
[Token(Token = "0x4009C36")]
[SerializeField]
private HairDyeRenderSetup hairDyeImposterPrefab;
// Token: 0x04009C37 RID: 39991
[FieldOffset(Offset = "0xD0")]
[Token(Token = "0x4009C37")]
[SerializeField]
[Header("Sounds")]
private RecRoomAudioClip[] equipSounds;
// Token: 0x04009C38 RID: 39992
[FieldOffset(Offset = "0xD8")]
[Token(Token = "0x4009C38")]
[SerializeField]
private RecRoomAudioClip lockedOutfitToolClip;
// Token: 0x04009C39 RID: 39993
[FieldOffset(Offset = "0xE0")]
[Token(Token = "0x4009C39")]
[Tooltip("PlayerAvatarDisplay used for debugging purposes")]
public PlayerAvatarDisplay debugDummyPrefab;
// Token: 0x020023CC RID: 9164
[Token(Token = "0x20023CC")]
public class AvatarItemMetadata
{
// Token: 0x0600EC6D RID: 60525 RVA: 0x003667AC File Offset: 0x003649AC
[Token(Token = "0x600EC6D")]
[Address(RVA = "0x11D3B50", Offset = "0x11D2950", VA = "0x1811D3B50")]
public string GetItemStarRarityString()
{
PGCHMNKBEFJ rarity = this.Rarity;
if (rarity > PGCHMNKBEFJ.Uncommon)
{
if (rarity == PGCHMNKBEFJ.Rare)
{
}
if (rarity == PGCHMNKBEFJ.Epic)
{
}
if (rarity != PGCHMNKBEFJ.Legendary)
{
goto IL_24;
}
}
if (rarity == PGCHMNKBEFJ.Common)
{
}
if (rarity == PGCHMNKBEFJ.Uncommon)
{
}
IL_24:
int num = 0;
return string.Concat(Enumerable.Repeat<string>("\ud83d\udfca", num));
}
// Token: 0x0600EC6E RID: 60526 RVA: 0x003667F0 File Offset: 0x003649F0
[Token(Token = "0x600EC6E")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public AvatarItemMetadata()
{
}
// Token: 0x04009C3A RID: 39994
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009C3A")]
public bool IsNew;
// Token: 0x04009C3B RID: 39995
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009C3B")]
public string FriendlyName;
// Token: 0x04009C3C RID: 39996
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4009C3C")]
public string Tooltip;
// Token: 0x04009C3D RID: 39997
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4009C3D")]
public PGCHMNKBEFJ Rarity;
}
// Token: 0x020023CD RID: 9165
[Token(Token = "0x20023CD")]
[CompilerGenerated]
private sealed class JHOBBJFPMHA
{
// Token: 0x0600EC6F RID: 60527 RVA: 0x00366804 File Offset: 0x00364A04
[Token(Token = "0x600EC6F")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public JHOBBJFPMHA()
{
}
// Token: 0x0600EC70 RID: 60528 RVA: 0x00366818 File Offset: 0x00364A18
[Token(Token = "0x600EC70")]
[Address(RVA = "0x11D9BF0", Offset = "0x11D89F0", VA = "0x1811D9BF0")]
internal PMGCJEPKFOF<List<EOBKJELFMIA>> <GetBrowsableAvatarItemsByGuids>b__0(List<NLEKGNENMCO.EPFHLDCPAOK> details)
{
int num;
do
{
num = 0;
bool flag;
if (flag)
{
List<EOBKJELFMIA> list = this.results;
OutfitManager outfitManager = this.<>4__this;
Dictionary<AvatarItem, OutfitManager.AvatarItemMetadata> onkbhglcaeg = outfitManager.ONKBHGLCAEG;
bool flag2;
if (!flag2)
{
OutfitManager.AvatarItemMetadata avatarItemMetadata = new OutfitManager.AvatarItemMetadata();
int num2 = 0;
avatarItemMetadata.IsNew = false;
outfitManager.ONKBHGLCAEG[num2] = avatarItemMetadata;
}
EOBKJELFMIA eobkjelfmia = new EOBKJELFMIA();
eobkjelfmia.<FLFHILBLCOG>k__BackingField = eobkjelfmia;
eobkjelfmia.<OHIGJIBAPHD>k__BackingField = num;
eobkjelfmia.<FPECCGKDEMF>k__BackingField = false;
outfitManager.BLBNKOIALHE(eobkjelfmia);
list.Add(eobkjelfmia);
}
}
while (num != 0);
List<EOBKJELFMIA> list2 = this.results;
PMGCJEPKFOF<EOBKJELFMIA> pmgcjepkfof;
return pmgcjepkfof;
}
// Token: 0x04009C3E RID: 39998
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009C3E")]
public List<EOBKJELFMIA> results;
// Token: 0x04009C3F RID: 39999
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009C3F")]
public OutfitManager <>4__this;
}
// Token: 0x020023CF RID: 9167
[Token(Token = "0x20023CF")]
[CompilerGenerated]
private sealed class NKEOOJACMNG
{
// Token: 0x0600EC7D RID: 60541 RVA: 0x00366A14 File Offset: 0x00364C14
[Token(Token = "0x600EC7D")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public NKEOOJACMNG()
{
}
// Token: 0x0600EC7E RID: 60542 RVA: 0x00366A28 File Offset: 0x00364C28
[Token(Token = "0x600EC7E")]
[Address(RVA = "0x11D7400", Offset = "0x11D6200", VA = "0x1811D7400")]
internal bool <UnlockAvatarItemAndMarkNew>b__1(NLEKGNENMCO.EPFHLDCPAOK uai)
{
string text = this.avatarItemDesc;
return string.Equals(uai.<KHKDPOODHCD>k__BackingField, text);
}
// Token: 0x04009C4B RID: 40011
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009C4B")]
public string avatarItemDesc;
// Token: 0x04009C4C RID: 40012
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009C4C")]
public OutfitManager <>4__this;
// Token: 0x04009C4D RID: 40013
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4009C4D")]
public Predicate<NLEKGNENMCO.EPFHLDCPAOK> <>9__1;
}
// Token: 0x020023D0 RID: 9168
[Token(Token = "0x20023D0")]
[CompilerGenerated]
private sealed class HNBPNFLIOCF
{
// Token: 0x0600EC7F RID: 60543 RVA: 0x00366A50 File Offset: 0x00364C50
[Token(Token = "0x600EC7F")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public HNBPNFLIOCF()
{
}
// Token: 0x0600EC80 RID: 60544 RVA: 0x00366A64 File Offset: 0x00364C64
[Token(Token = "0x600EC80")]
[Address(RVA = "0x11D8900", Offset = "0x11D7700", VA = "0x1811D8900")]
internal void <UnlockAvatarItemAndMarkNew>b__0(List<NLEKGNENMCO.EPFHLDCPAOK> unlockedAvatarItems)
{
if (unlockedAvatarItems != 0)
{
OutfitManager.NKEOOJACMNG cs$<>8__locals = this.CS$<>8__locals1;
Predicate<NLEKGNENMCO.EPFHLDCPAOK> <>9__ = cs$<>8__locals.<>9__1;
if (<>9__ == 0)
{
Predicate<NLEKGNENMCO.EPFHLDCPAOK> predicate = delegate(NLEKGNENMCO.EPFHLDCPAOK uai)
{
string avatarItemDesc = cs$<>8__locals.avatarItemDesc;
return string.Equals(uai.<KHKDPOODHCD>k__BackingField, avatarItemDesc);
};
cs$<>8__locals.<>9__1 = predicate;
}
NLEKGNENMCO.EPFHLDCPAOK epfhldcpaok = unlockedAvatarItems.Find(<>9__);
OutfitManager.AvatarItemMetadata avatarItemMetadata = this.metadata;
string <FNIGMBMFOJL>k__BackingField = epfhldcpaok.<FNIGMBMFOJL>k__BackingField;
avatarItemMetadata.FriendlyName = <FNIGMBMFOJL>k__BackingField;
OutfitManager.AvatarItemMetadata avatarItemMetadata2 = this.metadata;
string <ILKJJMACHPC>k__BackingField = epfhldcpaok.<ILKJJMACHPC>k__BackingField;
avatarItemMetadata2.Tooltip = <ILKJJMACHPC>k__BackingField;
OutfitManager.AvatarItemMetadata avatarItemMetadata3 = this.metadata;
PGCHMNKBEFJ <IGOLNCKNKMK>k__BackingField = epfhldcpaok.<IGOLNCKNKMK>k__BackingField;
avatarItemMetadata3.Rarity = <IGOLNCKNKMK>k__BackingField;
this.CS$<>8__locals1.<>4__this.KGJKDAPMLEM(true);
this.CS$<>8__locals1.<>4__this.HairColorVault.LinkDyesToWatchStorefront();
bool flag = MNHEFLIMKGO.JDJOHHLOEJK();
}
}
// Token: 0x04009C4E RID: 40014
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009C4E")]
public OutfitManager.AvatarItemMetadata metadata;
// Token: 0x04009C4F RID: 40015
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009C4F")]
public OutfitManager.NKEOOJACMNG CS$<>8__locals1;
}
// Token: 0x020023D1 RID: 9169
[Token(Token = "0x20023D1")]
[CompilerGenerated]
private sealed class LHMOIEBGMEH
{
// Token: 0x0600EC81 RID: 60545 RVA: 0x00366B28 File Offset: 0x00364D28
[Token(Token = "0x600EC81")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public LHMOIEBGMEH()
{
}
// Token: 0x0600EC82 RID: 60546 RVA: 0x00366B3C File Offset: 0x00364D3C
[Token(Token = "0x600EC82")]
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20")]
internal OutfitRenderSetup <SpawnOutfitImposter>b__0()
{
return this.imposterRenderSetup;
}
// Token: 0x04009C50 RID: 40016
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009C50")]
public OutfitRenderSetup imposterRenderSetup;
}
}
}