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,212 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Avatars.Outfit
{
// Token: 0x020023C1 RID: 9153
[Token(Token = "0x20023C1")]
[Serializable]
public class FitMeshHemisphere
{
// Token: 0x1700265F RID: 9823
// (get) Token: 0x0600EBF0 RID: 60400 RVA: 0x00364AD8 File Offset: 0x00362CD8
[Token(Token = "0x1700265F")]
public bool IsRadiusValid
{
[Token(Token = "0x600EBF0")]
[Address(RVA = "0x11D8870", Offset = "0x11D7670", VA = "0x1811D8870")]
get
{
/*
An exception occurred when decompiling this method (0600EBF0)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean RecRoom.Avatars.Outfit.FitMeshHemisphere::get_IsRadiusValid()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:float32(var_0_06, ldfld:float32(FitMeshHemisphere::radius, ldloc:FitMeshHemisphere(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: 0x0600EBF1 RID: 60401 RVA: 0x00364AF0 File Offset: 0x00362CF0
[Token(Token = "0x600EBF1")]
[Address(RVA = "0x11D8100", Offset = "0x11D6F00", VA = "0x1811D8100")]
public Vector3 DOAOMJFMLLN(Vector2 IFDPEBLFLFJ, bool HIINFEKFOHF = true)
{
int num = 0;
float num3;
float num2 = Mathf.Clamp01(num3);
Vector2 vector = (0 - num) * 2f;
int num4 = 0;
float num5 = Mathf.Max((float)0, (float)num4);
num3 = num5;
num5 = num3;
Vector2 vector3;
Vector2 vector2 = num5 * vector3;
Vector3 vector4;
float z = vector4.z;
Vector3 vector5;
float z2 = vector5.z;
Quaternion hemisphere_FITMESH_PIVOT_ROTATION = FitMeshHemisphere.HEMISPHERE_FITMESH_PIVOT_ROTATION;
Vector3 vector6;
float z3 = vector6.z;
Vector3 vector7;
float z4 = vector7.z;
Vector3 vector8;
float z5 = vector8.z;
throw new NullReferenceException();
}
// Token: 0x0600EBF2 RID: 60402 RVA: 0x00364B78 File Offset: 0x00362D78
[Token(Token = "0x600EBF2")]
[Address(RVA = "0x11D8620", Offset = "0x11D7420", VA = "0x1811D8620")]
public Vector3 HAIKKEHEIDL(Vector2 IFDPEBLFLFJ)
{
/*
An exception occurred when decompiling this method (0600EBF2)
ICSharpCode.Decompiler.DecompilerException: Error decompiling UnityEngine.Vector3 RecRoom.Avatars.Outfit.FitMeshHemisphere::HAIKKEHEIDL(UnityEngine.Vector2)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:float32(var_2_08, ldfld:float32(Vector3::z, ldloc:Vector3[exp:valuetype [UnityEngine.CoreModule]UnityEngine.Vector3&](var_1)))
stloc:float32(var_4_0F, ldfld:float32(Vector3::z, ldloc:Vector3[exp:valuetype [UnityEngine.CoreModule]UnityEngine.Vector3&](var_3)))
}
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: 0x0600EBF3 RID: 60403 RVA: 0x00364B98 File Offset: 0x00362D98
[Token(Token = "0x600EBF3")]
[Address(RVA = "0x11D7EA0", Offset = "0x11D6CA0", VA = "0x1811D7EA0")]
public Quaternion CHDHKJJADFE(Vector2 IFDPEBLFLFJ)
{
/*
An exception occurred when decompiling this method (0600EBF3)
ICSharpCode.Decompiler.DecompilerException: Error decompiling UnityEngine.Quaternion RecRoom.Avatars.Outfit.FitMeshHemisphere::CHDHKJJADFE(UnityEngine.Vector2)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:Vector3(var_0_05, callgetter:Vector3(Vector3::get_forward))
}
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: 0x0600EBF4 RID: 60404 RVA: 0x00364BAC File Offset: 0x00362DAC
[Token(Token = "0x600EBF4")]
[Address(RVA = "0x11D7D10", Offset = "0x11D6B10", VA = "0x1811D7D10")]
public Quaternion CHDHKJJADFE(Vector2 IFDPEBLFLFJ, Vector3 LGHGIHMKIMJ)
{
}
// Token: 0x0600EBF5 RID: 60405 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600EBF5")]
[Address(RVA = "0x11D8070", Offset = "0x11D6E70", VA = "0x1811D8070")]
private Vector2 DMJCJBOEPEE(Vector2 HENKKFEDNIE)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600EBF6 RID: 60406 RVA: 0x00364BBC File Offset: 0x00362DBC
[Token(Token = "0x600EBF6")]
[Address(RVA = "0x11D8810", Offset = "0x11D7610", VA = "0x1811D8810")]
public FitMeshHemisphere()
{
ulong num;
this.UV_CENTER_COORDINATE = num;
this.UV_CENTER_COORDINATE.y = (float)0;
this.radius = 0.13f;
base..ctor();
}
// Token: 0x0600EBF7 RID: 60407 RVA: 0x00364BF0 File Offset: 0x00362DF0
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600EBF7")]
[Address(RVA = "0x11D8680", Offset = "0x11D7480", VA = "0x1811D8680")]
static FitMeshHemisphere()
{
Quaternion identity = Quaternion.identity;
FitMeshHemisphere fitMeshHemisphere;
ulong num;
fitMeshHemisphere.UV_CENTER_COORDINATE = num;
fitMeshHemisphere.UV_CENTER_COORDINATE.y = (float)0;
fitMeshHemisphere.radius = 0.13f;
FitMeshHemisphere.Default = fitMeshHemisphere;
}
// Token: 0x04009BEF RID: 39919
[Token(Token = "0x4009BEF")]
private static float GIZMO_RESOLUTION;
// Token: 0x04009BF0 RID: 39920
[Token(Token = "0x4009BF0")]
private static float GIZMO_POSITION_CUBE_SCALE;
// Token: 0x04009BF1 RID: 39921
[Token(Token = "0x4009BF1")]
private static float GIZMO_NORMAL_LINE_LENGTH;
// Token: 0x04009BF2 RID: 39922
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009BF2")]
private readonly Vector2 UV_CENTER_COORDINATE;
// Token: 0x04009BF3 RID: 39923
[Token(Token = "0x4009BF3")]
public static readonly Vector3 HEMISPHERE_FITMESH_PIVOT_POSITION;
// Token: 0x04009BF4 RID: 39924
[Token(Token = "0x4009BF4")]
public static readonly Quaternion HEMISPHERE_FITMESH_PIVOT_ROTATION;
// Token: 0x04009BF5 RID: 39925
[Token(Token = "0x4009BF5")]
public static readonly Vector3 HEMISPHERE_FITMESH_PIVOT_SCALE;
// Token: 0x04009BF6 RID: 39926
[Token(Token = "0x4009BF6")]
public static readonly FitMeshHemisphere Default;
// Token: 0x04009BF7 RID: 39927
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009BF7")]
[SerializeField]
public Transform HemisphereTransform;
// Token: 0x04009BF8 RID: 39928
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4009BF8")]
[SerializeField]
public float radius;
}
}
@@ -0,0 +1,342 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Avatars.Outfit
{
// Token: 0x020023C2 RID: 9154
[Token(Token = "0x20023C2")]
public class HairColorVault : ColorVault
{
// Token: 0x0600EBF8 RID: 60408 RVA: 0x00364C2C File Offset: 0x00362E2C
[Token(Token = "0x600EBF8")]
[Address(RVA = "0x11D8BA0", Offset = "0x11D79A0", VA = "0x1811D8BA0", Slot = "4")]
protected override void Awake()
{
int num;
do
{
num = 0;
List<ColorVault.ColorToGuid> colors = this.colors;
List<ColorVault.ColorToGuid> naturalColors = this.NaturalColors;
colors.AddRange(naturalColors);
List<ColorVault.ColorToGuid> colors2 = this.colors;
List<ColorVault.ColorToGuid> dyeColors = this.DyeColors;
colors2.AddRange(dyeColors);
List<ColorVault.ColorToGuid> dyeColors2 = this.DyeColors;
List<ColorVault.ColorToGuid>.Enumerator enumerator = colors2.GetEnumerator();
bool flag;
if (flag)
{
}
}
while (num != 0);
base.Awake();
}
// Token: 0x0600EBF9 RID: 60409 RVA: 0x00364C94 File Offset: 0x00362E94
[Token(Token = "0x600EBF9")]
[Address(RVA = "0x11D9290", Offset = "0x11D8090", VA = "0x1811D9290")]
public void ResetUnlockedColors()
{
int num;
do
{
num = 0;
List<ColorVault.ColorToGuid> dyeColors = this.DyeColors;
bool flag;
if (flag)
{
}
}
while (num != 0);
}
// Token: 0x0600EBFA RID: 60410 RVA: 0x00364CB8 File Offset: 0x00362EB8
[Token(Token = "0x600EBFA")]
[Address(RVA = "0x11D91E0", Offset = "0x11D7FE0", VA = "0x1811D91E0")]
public void LinkDyesToWatchStorefront()
{
PMGCJEPKFOF<BKFGFHDDNFG> pmgcjepkfof = GEAPBDGCKMB.PGIMFDLBHON(DGOHCPBKOHD.Watch);
Action<BKFGFHDDNFG> action = new Action(this.JKELKCPEIBD);
throw new NullReferenceException();
}
// Token: 0x0600EBFB RID: 60411 RVA: 0x00364CE0 File Offset: 0x00362EE0
[Token(Token = "0x600EBFB")]
[Address(RVA = "0x11D8CF0", Offset = "0x11D7AF0", VA = "0x1811D8CF0")]
public ColorVault.ColorToGuid GetColor(string KGKDKGBFDIA)
{
List<ColorVault.ColorToGuid> colors = this.colors;
Func<ColorVault.ColorToGuid, bool> func = delegate(ColorVault.ColorToGuid dc)
{
string guidString = KGKDKGBFDIA;
return string.Equals(dc.guidString, guidString);
};
return Enumerable.FirstOrDefault<ColorVault.ColorToGuid>(Enumerable.Where<ColorVault.ColorToGuid>(colors, func));
}
// Token: 0x0600EBFC RID: 60412 RVA: 0x00364D20 File Offset: 0x00362F20
[Token(Token = "0x600EBFC")]
[Address(RVA = "0x11D8DB0", Offset = "0x11D7BB0", VA = "0x1811D8DB0")]
public ColorVault.ColorToGuid GetDyeColor(string KGKDKGBFDIA)
{
List<ColorVault.ColorToGuid> dyeColors = this.DyeColors;
Func<ColorVault.ColorToGuid, bool> func = delegate(ColorVault.ColorToGuid dc)
{
string guidString = KGKDKGBFDIA;
return string.Equals(dc.guidString, guidString);
};
return Enumerable.FirstOrDefault<ColorVault.ColorToGuid>(Enumerable.Where<ColorVault.ColorToGuid>(dyeColors, func));
}
// Token: 0x0600EBFD RID: 60413 RVA: 0x00364D60 File Offset: 0x00362F60
[Token(Token = "0x600EBFD")]
[Address(RVA = "0x11D8E70", Offset = "0x11D7C70", VA = "0x1811D8E70", Slot = "5")]
public override ColorVault.ColorToGuid GetRandomDefault()
{
return ECNNGIFNNNM.NBMJEPIPHGC<ColorVault.ColorToGuid>(this.NaturalColors);
}
// Token: 0x0600EBFE RID: 60414 RVA: 0x00364D78 File Offset: 0x00362F78
[Token(Token = "0x600EBFE")]
[Address(RVA = "0x11D8EB0", Offset = "0x11D7CB0", VA = "0x1811D8EB0", Slot = "6")]
public override ColorVault.ColorToGuid GetRandomUnlocked()
{
ColorVault.ColorToGuid colorToGuid = ECNNGIFNNNM.NBMJEPIPHGC<ColorVault.ColorToGuid>(this.DyeColors);
if (!colorToGuid.<Unlocked>k__BackingField)
{
bool isCompleted = ((IAsyncResult)this).IsCompleted;
}
return colorToGuid;
}
// Token: 0x0600EBFF RID: 60415 RVA: 0x00364DA8 File Offset: 0x00362FA8
[Token(Token = "0x600EBFF")]
[Address(RVA = "0x11D8A70", Offset = "0x11D7870", VA = "0x1811D8A70")]
public void AddUnlockedHairDye(string KGKDKGBFDIA)
{
ColorVault.ColorToGuid dyeColor = this.GetDyeColor(KGKDKGBFDIA);
if (dyeColor != 0)
{
int num = 0;
bool flag = ColorVault.ColorToGuid.BDBLGMKABNK(0, num);
dyeColor.<Unlocked>k__BackingField = true;
HairColorVault.HairDyeUnlockedEvent.CNFDGDEOPPF();
bool flag2 = MNHEFLIMKGO.JDJOHHLOEJK();
return;
}
Debug.LogError("Can not find hair dye color " + KGKDKGBFDIA);
}
// Token: 0x0600EC00 RID: 60416 RVA: 0x00364DFC File Offset: 0x00362FFC
[Token(Token = "0x600EC00")]
[Address(RVA = "0x11D8F20", Offset = "0x11D7D20", VA = "0x1811D8F20")]
public bool IsHairDyeAlreadyPurchased(string MEAKEJONOGK)
{
HairColorVault.ONNFNFHKHOA onnfnfhkhoa = new HairColorVault.ONNFNFHKHOA();
onnfnfhkhoa.hairDyeDesc = MEAKEJONOGK;
if (onnfnfhkhoa != 0)
{
}
GiftManager instance = SingletonMonoBehaviour.ONCPNMDGGKG;
string hairDyeDesc = onnfnfhkhoa.hairDyeDesc;
Func<ColorVault.ColorToGuid, bool> func;
return instance.IsHairDyeAvailableInGiftPackageQueue(hairDyeDesc) || Enumerable.Any<ColorVault.ColorToGuid>(this.colors, func);
}
// Token: 0x0600EC01 RID: 60417 RVA: 0x00364E48 File Offset: 0x00363048
[Token(Token = "0x600EC01")]
[Address(RVA = "0x11D6140", Offset = "0x11D4F40", VA = "0x1811D6140")]
public HairColorVault()
{
this.Label = "My Vault";
Dictionary<string, ColorVault.ColorToGuid> dictionary = new Dictionary();
this.KEHDHFLKCLO = dictionary;
base..ctor();
}
// Token: 0x0600EC02 RID: 60418 RVA: 0x00364E74 File Offset: 0x00363074
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600EC02")]
[Address(RVA = "0x11D9390", Offset = "0x11D8190", VA = "0x1811D9390")]
static HairColorVault()
{
int num;
int num2;
OKNNKFGFODL oknnkfgfodl = new OKNNKFGFODL(32, num != 0, num2 != 0);
num2 = 0;
num = 0;
HairColorVault.HairDyeUnlockedEvent = oknnkfgfodl;
}
// Token: 0x0600EC03 RID: 60419 RVA: 0x00364E98 File Offset: 0x00363098
[Token(Token = "0x600EC03")]
[Address(RVA = "0x11D9040", Offset = "0x11D7E40", VA = "0x1811D9040")]
[CompilerGenerated]
private void JKELKCPEIBD(BKFGFHDDNFG CHJMCAKGNDN)
{
int num;
do
{
num = 0;
List<ColorVault.ColorToGuid> dyeColors = this.DyeColors;
bool flag;
if (flag)
{
HairColorVault.NNLOKDMLBBL nnlokdmlbbl = new HairColorVault.NNLOKDMLBBL();
nnlokdmlbbl.dyeColor = nnlokdmlbbl;
List<HOJMGAMMIAD> jdgebbmdjbc = CHJMCAKGNDN.JDGEBBMDJBC;
Func<HOJMGAMMIAD, bool> func = delegate(HOJMGAMMIAD si)
{
MJLPNOMEFKG <IPAKFAFGINE>k__BackingField = si.<IPAKFAFGINE>k__BackingField;
if (<IPAKFAFGINE>k__BackingField != 0 && <IPAKFAFGINE>k__BackingField.<KFFMMFIJKJM>k__BackingField == CDFEDFLKOBE.HairDye)
{
string guidString = nnlokdmlbbl.dyeColor.guidString;
return string.Equals(<IPAKFAFGINE>k__BackingField.<MCGDGOKLALG>k__BackingField, guidString);
}
throw new NullReferenceException();
};
HOJMGAMMIAD hojmgammiad = Enumerable.FirstOrDefault<HOJMGAMMIAD>(jdgebbmdjbc, func);
nnlokdmlbbl.dyeColor.<PurchasableGiftDrop>k__BackingField = hojmgammiad;
}
}
while (num != 0);
}
// Token: 0x04009BF9 RID: 39929
[Token(Token = "0x4009BF9")]
public static readonly OKNNKFGFODL HairDyeUnlockedEvent;
// Token: 0x04009BFA RID: 39930
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4009BFA")]
public List<ColorVault.ColorToGuid> NaturalColors;
// Token: 0x04009BFB RID: 39931
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4009BFB")]
public List<ColorVault.ColorToGuid> DyeColors;
// Token: 0x020023C3 RID: 9155
[Token(Token = "0x20023C3")]
[CompilerGenerated]
private sealed class NNLOKDMLBBL
{
// Token: 0x0600EC04 RID: 60420 RVA: 0x00364F08 File Offset: 0x00363108
[Token(Token = "0x600EC04")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public NNLOKDMLBBL()
{
}
// Token: 0x0600EC05 RID: 60421 RVA: 0x00364F1C File Offset: 0x0036311C
[Token(Token = "0x600EC05")]
[Address(RVA = "0x11D9FE0", Offset = "0x11D8DE0", VA = "0x1811D9FE0")]
internal bool <LinkDyesToWatchStorefront>b__1(HOJMGAMMIAD si)
{
MJLPNOMEFKG <IPAKFAFGINE>k__BackingField = si.<IPAKFAFGINE>k__BackingField;
if (<IPAKFAFGINE>k__BackingField != 0 && <IPAKFAFGINE>k__BackingField.<KFFMMFIJKJM>k__BackingField == CDFEDFLKOBE.HairDye)
{
string guidString = this.dyeColor.guidString;
return string.Equals(<IPAKFAFGINE>k__BackingField.<MCGDGOKLALG>k__BackingField, guidString);
}
throw new NullReferenceException();
}
// Token: 0x04009BFC RID: 39932
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009BFC")]
public ColorVault.ColorToGuid dyeColor;
}
// Token: 0x020023C4 RID: 9156
[Token(Token = "0x20023C4")]
[CompilerGenerated]
private sealed class FNIKDHPAEBP
{
// Token: 0x0600EC06 RID: 60422 RVA: 0x00364F60 File Offset: 0x00363160
[Token(Token = "0x600EC06")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public FNIKDHPAEBP()
{
}
// Token: 0x0600EC07 RID: 60423 RVA: 0x00364F74 File Offset: 0x00363174
[Token(Token = "0x600EC07")]
[Address(RVA = "0x11D7400", Offset = "0x11D6200", VA = "0x1811D7400")]
internal bool <GetColor>b__0(ColorVault.ColorToGuid dc)
{
string text = this.guidString;
return string.Equals(dc.guidString, text);
}
// Token: 0x04009BFD RID: 39933
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009BFD")]
public string guidString;
}
// Token: 0x020023C5 RID: 9157
[Token(Token = "0x20023C5")]
[CompilerGenerated]
private sealed class MMFPHJIPLGN
{
// Token: 0x0600EC08 RID: 60424 RVA: 0x00364F9C File Offset: 0x0036319C
[Token(Token = "0x600EC08")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public MMFPHJIPLGN()
{
}
// Token: 0x0600EC09 RID: 60425 RVA: 0x00364FB0 File Offset: 0x003631B0
[Token(Token = "0x600EC09")]
[Address(RVA = "0x11D7400", Offset = "0x11D6200", VA = "0x1811D7400")]
internal bool <GetDyeColor>b__0(ColorVault.ColorToGuid dc)
{
string text = this.guidString;
return string.Equals(dc.guidString, text);
}
// Token: 0x04009BFE RID: 39934
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009BFE")]
public string guidString;
}
// Token: 0x020023C6 RID: 9158
[Token(Token = "0x20023C6")]
[CompilerGenerated]
private sealed class ONNFNFHKHOA
{
// Token: 0x0600EC0A RID: 60426 RVA: 0x00364FD8 File Offset: 0x003631D8
[Token(Token = "0x600EC0A")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public ONNFNFHKHOA()
{
}
// Token: 0x0600EC0B RID: 60427 RVA: 0x00364FEC File Offset: 0x003631EC
[Token(Token = "0x600EC0B")]
[Address(RVA = "0x11DADC0", Offset = "0x11D9BC0", VA = "0x1811DADC0")]
internal bool <IsHairDyeAlreadyPurchased>b__0(ColorVault.ColorToGuid hc)
{
string text = this.hairDyeDesc;
bool flag = string.Equals(hc.guidString, text);
if (!flag)
{
return flag;
}
return hc.<Unlocked>k__BackingField;
}
// Token: 0x04009BFF RID: 39935
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009BFF")]
public string hairDyeDesc;
}
}
}
@@ -0,0 +1,94 @@
using System;
using System.Collections.Generic;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Avatars.Outfit
{
// Token: 0x020023C7 RID: 9159
[Token(Token = "0x20023C7")]
public class HairDyeRenderSetup : MonoBehaviour
{
// Token: 0x0600EC0C RID: 60428 RVA: 0x00365020 File Offset: 0x00363220
[Token(Token = "0x600EC0C")]
[Address(RVA = "0x11D95A0", Offset = "0x11D83A0", VA = "0x1811D95A0")]
public void SetupRenderers(ColorVault.ColorToGuid MEBLCMDDKCK)
{
for (;;)
{
int num = 0;
this.NPCPLFAONFO();
List<Renderer> list = this.itemRenderers;
bool flag;
if (flag)
{
bool flag2;
while (!flag2)
{
}
Material[] array = new Material[0];
if (num < array.Length)
{
break;
}
}
if (num == 0)
{
return;
}
}
Material material2;
Material material = new Material(material2);
throw new ArrayTypeMismatchException();
}
// Token: 0x0600EC0D RID: 60429 RVA: 0x003650AC File Offset: 0x003632AC
[Token(Token = "0x600EC0D")]
[Address(RVA = "0x11D9590", Offset = "0x11D8390", VA = "0x1811D9590")]
private void OnDestroy()
{
this.NPCPLFAONFO();
}
// Token: 0x0600EC0E RID: 60430 RVA: 0x003650C0 File Offset: 0x003632C0
[Token(Token = "0x600EC0E")]
[Address(RVA = "0x11D9400", Offset = "0x11D8200", VA = "0x1811D9400")]
private void NPCPLFAONFO()
{
int num;
do
{
num = 0;
List<Material[]> aedmahjjpka = this.AEDMAHJJPKA;
bool flag;
if (flag)
{
num++;
}
}
while (num != 0);
this.AEDMAHJJPKA.Clear();
}
// Token: 0x0600EC0F RID: 60431 RVA: 0x00365100 File Offset: 0x00363300
[Token(Token = "0x600EC0F")]
[Address(RVA = "0x11D9860", Offset = "0x11D8660", VA = "0x1811D9860")]
public HairDyeRenderSetup()
{
List<Material[]> list = new List();
this.AEDMAHJJPKA = list;
base..ctor();
}
// Token: 0x04009C00 RID: 39936
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009C00")]
[SerializeField]
private List<Renderer> itemRenderers;
// Token: 0x04009C01 RID: 39937
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4009C01")]
private List<Material[]> AEDMAHJJPKA;
}
}
@@ -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;
}
}
}
@@ -0,0 +1,158 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Avatars.Outfit
{
// Token: 0x020023D2 RID: 9170
[Token(Token = "0x20023D2")]
public class OutfitPrefab : MonoBehaviour
{
// Token: 0x1700266A RID: 9834
// (get) Token: 0x0600EC83 RID: 60547 RVA: 0x00366B50 File Offset: 0x00364D50
[Token(Token = "0x1700266A")]
public LODGroup IDENDKEAMCN
{
[Token(Token = "0x600EC83")]
[Address(RVA = "0x11E0670", Offset = "0x11DF470", VA = "0x1811E0670")]
get
{
LODGroup fggggkaoleo = this.FGGGGKAOLEO;
int num = 0;
if (fggggkaoleo == num)
{
LODGroup component = base.GetComponent<LODGroup>();
this.FGGGGKAOLEO = component;
}
return this.FGGGGKAOLEO;
}
}
// Token: 0x1700266B RID: 9835
// (get) Token: 0x0600EC84 RID: 60548 RVA: 0x00366B84 File Offset: 0x00364D84
[Token(Token = "0x1700266B")]
public bool KILAGPMOIME
{
[Token(Token = "0x600EC84")]
[Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930")]
get
{
}
}
// Token: 0x1700266C RID: 9836
// (get) Token: 0x0600EC85 RID: 60549 RVA: 0x00366B94 File Offset: 0x00364D94
// (set) Token: 0x0600EC86 RID: 60550 RVA: 0x00366BA8 File Offset: 0x00364DA8
[Token(Token = "0x1700266C")]
public Transform HMKFFOKEECE
{
[Token(Token = "0x600EC85")]
[Address(RVA = "0x3FA180", Offset = "0x3F8F80", VA = "0x1803FA180")]
get
{
return this.hairFitMeshHemispherePivot;
}
[Token(Token = "0x600EC86")]
[Address(RVA = "0x11E06F0", Offset = "0x11DF4F0", VA = "0x1811E06F0")]
set
{
FitMeshHemisphere fitMeshHemisphereObject = this.FitMeshHemisphereObject;
this.hairFitMeshHemispherePivot = value;
fitMeshHemisphereObject.HemisphereTransform = value;
}
}
// Token: 0x1700266D RID: 9837
// (get) Token: 0x0600EC87 RID: 60551 RVA: 0x00366BD0 File Offset: 0x00364DD0
[Token(Token = "0x1700266D")]
public bool LDOCIBNFNHA
{
[Token(Token = "0x600EC87")]
[Address(RVA = "0x11E0600", Offset = "0x11DF400", VA = "0x1811E0600")]
get
{
if (!this.AllowFitMeshOverride)
{
}
Transform fitMeshPivot = this.FitMeshPivot;
int num = 0;
return fitMeshPivot != num;
}
}
// Token: 0x0600EC88 RID: 60552 RVA: 0x00366BF8 File Offset: 0x00364DF8
[Token(Token = "0x600EC88")]
[Address(RVA = "0x11E0530", Offset = "0x11DF330", VA = "0x1811E0530")]
public OutfitPrefab()
{
ulong num;
this.DefaultUVOverride = num;
this.DefaultUVOverride.y = (float)0;
PlayerAvatarDisplay.AnchorParamsRestrictions anchorParamsRestrictions = new PlayerAvatarDisplay.AnchorParamsRestrictions();
this.anchorParamRestrictions = anchorParamsRestrictions;
ulong num2;
this.HatUVOverride = num2;
this.HatUVOverride.y = (float)0;
base..ctor();
}
// Token: 0x04009C51 RID: 40017
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009C51")]
public SkinnedMeshRenderer SourceMeshRenderer;
// Token: 0x04009C52 RID: 40018
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4009C52")]
[OCIDFHDICIP(JIBDPHMGEGO.SelfAndChildren, false, false, false)]
private LODGroup FGGGGKAOLEO;
// Token: 0x04009C53 RID: 40019
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4009C53")]
[SerializeField]
public FitMeshHemisphere FitMeshHemisphereObject;
// Token: 0x04009C54 RID: 40020
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4009C54")]
[SerializeField]
private Transform hairFitMeshHemispherePivot;
// Token: 0x04009C55 RID: 40021
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4009C55")]
[SerializeField]
public Vector2 DefaultUVOverride;
// Token: 0x04009C56 RID: 40022
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4009C56")]
[SerializeField]
public bool AllowFitMeshOverride;
// Token: 0x04009C57 RID: 40023
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4009C57")]
[SerializeField]
public PlayerAvatarDisplay.AnchorParamsRestrictions anchorParamRestrictions;
// Token: 0x04009C58 RID: 40024
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4009C58")]
[SerializeField]
public Transform FitMeshPivot;
// Token: 0x04009C59 RID: 40025
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4009C59")]
[SerializeField]
public bool UseHatUVOverride;
// Token: 0x04009C5A RID: 40026
[FieldOffset(Offset = "0x5C")]
[Token(Token = "0x4009C5A")]
[SerializeField]
public Vector2 HatUVOverride;
}
}
@@ -0,0 +1,388 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
using RecRoom.Avatars.Data.Runtime;
using RecRoom.Avatars.Data.Shared;
using RecRoom.Core;
using UnityEngine;
namespace RecRoom.Avatars.Outfit
{
// Token: 0x020023D3 RID: 9171
[Token(Token = "0x20023D3")]
public class OutfitRenderSetup : MonoBehaviour
{
// Token: 0x1700266E RID: 9838
// (get) Token: 0x0600EC89 RID: 60553 RVA: 0x00366C40 File Offset: 0x00364E40
[Token(Token = "0x1700266E")]
public Renderer GNCEHPBKKFP
{
[Token(Token = "0x600EC89")]
[Address(RVA = "0x3F63E0", Offset = "0x3F51E0", VA = "0x1803F63E0")]
get
{
return this._itemRenderer;
}
}
// Token: 0x1700266F RID: 9839
// (get) Token: 0x0600EC8A RID: 60554 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x1700266F")]
public AvatarItem ACOEGFLBMEH
{
[Token(Token = "0x600EC8A")]
[Address(RVA = "0x8EA020", Offset = "0x8E8E20", VA = "0x1808EA020")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x0600EC8B RID: 60555 RVA: 0x00366C54 File Offset: 0x00364E54
[Token(Token = "0x600EC8B")]
[Address(RVA = "0x11E14D0", Offset = "0x11E02D0", VA = "0x1811E14D0")]
public DABKFAIHBBP LoadItemAsync(AvatarItem IOBEPGLJNIP)
{
this.NPCPLFAONFO();
ulong num;
this.NAGNBENONGJ(num != 0UL);
AvatarItemVisualData.OELMAEPCILM oelmaepcilm = AvatarItemVisualData.OELMAEPCILM.PPKHDMJDNCP(IOBEPGLJNIP._avatarItemVisualData);
this.JCPCLCFKPIB = oelmaepcilm;
Action<KJDIAJKHGNG> action = new Action(this.EIDNHNHMDGI);
int num2 = 0;
num2 += num2;
num2++;
((IDisposable)oelmaepcilm).Dispose();
action += action;
num2 += 19;
throw new NullReferenceException();
}
// Token: 0x0600EC8C RID: 60556 RVA: 0x00366CAC File Offset: 0x00364EAC
[Token(Token = "0x600EC8C")]
[Address(RVA = "0x11E1610", Offset = "0x11E0410", VA = "0x1811E1610")]
private void NAGNBENONGJ(bool PNEPKBEADHE)
{
this._itemRenderer.gameObject.SetActive(PNEPKBEADHE);
GameObject gameObject = this.loadingObject;
int num = 0;
if (gameObject != num)
{
this.loadingObject.SetActive(PNEPKBEADHE);
}
}
// Token: 0x0600EC8D RID: 60557 RVA: 0x00366CF0 File Offset: 0x00364EF0
[Token(Token = "0x600EC8D")]
[Address(RVA = "0x11E0760", Offset = "0x11DF560", VA = "0x1811E0760")]
private void IOPHIFBFDKP(AvatarItem IOBEPGLJNIP, KJDIAJKHGNG DKJBEMEFGIO)
{
this._itemRenderer.NHHLALGBEPB();
Mesh mesh;
this._itemRenderer.GetComponent<MeshFilter>().sharedMesh = mesh;
Material[] array = new Material[0];
int num = 0;
this.AEDMAHJJPKA = array;
int num2 = 0;
Material[] aedmahjjpka;
if (num < array.Length)
{
Material material = new Material(array[num2]);
if (material != 0)
{
}
array[0] = material;
num2++;
aedmahjjpka = this.AEDMAHJJPKA;
}
this._itemRenderer.SetMaterialArray(aedmahjjpka);
bool flag;
if (flag)
{
Material[] aedmahjjpka2 = this.AEDMAHJJPKA;
}
bool flag2;
if (flag2)
{
Material[] aedmahjjpka3 = this.AEDMAHJJPKA;
}
bool flag3;
if (flag3)
{
Material[] aedmahjjpka4 = this.AEDMAHJJPKA;
}
AvatarItem abcocfgcfcl = this.ABCOCFGCFCL;
this.JGADOPDPBOB();
Transform parent = this._itemRenderer.transform.parent;
int num3 = 0;
Quaternion identity = Quaternion.identity;
parent.localRotation = num3;
SavedExtents savedExtents = base.gameObject.GLENGLDKGCK<SavedExtents>();
Renderer itemRenderer = this._itemRenderer;
int num4 = 0;
itemRenderer.transform.localPosition = num4;
BoxCollider itemCollider = this._itemCollider;
int num5 = 0;
if (itemCollider != num5)
{
this._itemCollider.center = num5;
this._itemCollider.size = num5;
}
parent.localRotation = num5;
}
// Token: 0x0600EC8E RID: 60558 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600EC8E")]
[Address(RVA = "0x11E0E60", Offset = "0x11DFC60", VA = "0x1811E0E60")]
private void JGADOPDPBOB()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600EC8F RID: 60559 RVA: 0x00366E34 File Offset: 0x00365034
[Token(Token = "0x600EC8F")]
[Address(RVA = "0x11E18B0", Offset = "0x11E06B0", VA = "0x1811E18B0")]
private void OnDestroy()
{
this.NPCPLFAONFO();
}
// Token: 0x0600EC90 RID: 60560 RVA: 0x00366E48 File Offset: 0x00365048
[Token(Token = "0x600EC90")]
[Address(RVA = "0x11E16D0", Offset = "0x11E04D0", VA = "0x1811E16D0")]
private void NPCPLFAONFO()
{
Material[] aedmahjjpka = this.AEDMAHJJPKA;
if (aedmahjjpka != 0)
{
int num = 0;
int num2 = 0;
if (num2 < aedmahjjpka.Length)
{
global::UnityEngine.Object.Destroy(aedmahjjpka[num]);
Material[] aedmahjjpka2 = this.AEDMAHJJPKA;
num++;
}
this.AEDMAHJJPKA = (ulong)0L;
}
if (this.JCPCLCFKPIB != (ulong)0L)
{
IKAEDJBFIMM<KJDIAJKHGNG> jcpclcfkpib = this.JCPCLCFKPIB;
IKAEDJBFIMM<KJDIAJKHGNG> disposeHandle = jcpclcfkpib;
if (SingletonMonoBehaviour.FFNIFALJLDD)
{
Scheduler instance = SingletonMonoBehaviour.ONCPNMDGGKG;
OutfitRenderSetup.AOBNBGBEILA.<<Cleanup>g__DisposeEOF|0>d <<Cleanup>g__DisposeEOF|0>d;
<<Cleanup>g__DisposeEOF|0>d.System.IDisposable.Dispose();
<<Cleanup>g__DisposeEOF|0>d.<>1__state = (int)((ulong)0L);
<<Cleanup>g__DisposeEOF|0>d.<>4__this = 0;
KFBABPAPIMB kfbabpapimb = instance.Run(<<Cleanup>g__DisposeEOF|0>d);
throw new NullReferenceException();
}
IKAEDJBFIMM<KJDIAJKHGNG> disposeHandle2 = disposeHandle;
}
this.JCPCLCFKPIB = (ulong)0L;
}
// Token: 0x0600EC91 RID: 60561 RVA: 0x00366F00 File Offset: 0x00365100
[Token(Token = "0x600EC91")]
[Address(RVA = "0x74EA40", Offset = "0x74D840", VA = "0x18074EA40")]
public OutfitRenderSetup()
{
}
// Token: 0x0600EC93 RID: 60563 RVA: 0x00366F60 File Offset: 0x00365160
[Token(Token = "0x600EC93")]
[Address(RVA = "0x11E0710", Offset = "0x11DF510", VA = "0x1811E0710")]
[CompilerGenerated]
private void EIDNHNHMDGI(KJDIAJKHGNG DINHOLEGEMB)
{
AvatarColorSwatch ngpjgkiopbi = DINHOLEGEMB.NGPJGKIOPBI;
AvatarItem abcocfgcfcl = this.ABCOCFGCFCL;
int num = 0;
this.NAGNBENONGJ(num != 0);
}
// Token: 0x04009C5B RID: 40027
[Token(Token = "0x4009C5B")]
public static readonly int HAIR_PRIMARY_COLOR_ID = Shader.PropertyToID("_Red_Col");
// Token: 0x04009C5C RID: 40028
[Token(Token = "0x4009C5C")]
public static readonly int HAIR_SECONDARY_COLOR_ID = Shader.PropertyToID("_Green_Col");
// Token: 0x04009C5D RID: 40029
[Token(Token = "0x4009C5D")]
public static readonly int HAIR_BASE_COLOR_ID = Shader.PropertyToID("_Base_Col");
// Token: 0x04009C5E RID: 40030
[Token(Token = "0x4009C5E")]
public static readonly int HAIR_TEXTURE_ID = Shader.PropertyToID("_BaseMap");
// Token: 0x04009C5F RID: 40031
[Token(Token = "0x4009C5F")]
public static readonly int HAIR_MATERIAL_INDEX;
// Token: 0x04009C60 RID: 40032
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009C60")]
[SerializeField]
private GameObject loadingObject;
// Token: 0x04009C61 RID: 40033
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4009C61")]
[SerializeField]
private BoxCollider _itemCollider;
// Token: 0x04009C62 RID: 40034
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4009C62")]
[SerializeField]
private Renderer _itemRenderer;
// Token: 0x04009C63 RID: 40035
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4009C63")]
private AvatarItem ABCOCFGCFCL;
// Token: 0x04009C64 RID: 40036
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4009C64")]
private IKAEDJBFIMM<KJDIAJKHGNG> JCPCLCFKPIB;
// Token: 0x04009C65 RID: 40037
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4009C65")]
private Material[] AEDMAHJJPKA;
// Token: 0x020023D4 RID: 9172
[Token(Token = "0x20023D4")]
[CompilerGenerated]
private sealed class AOBNBGBEILA
{
// Token: 0x0600EC94 RID: 60564 RVA: 0x00366F84 File Offset: 0x00365184
[Token(Token = "0x600EC94")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public AOBNBGBEILA()
{
}
// Token: 0x0600EC95 RID: 60565 RVA: 0x00366F98 File Offset: 0x00365198
[Token(Token = "0x600EC95")]
[Address(RVA = "0x11D2E30", Offset = "0x11D1C30", VA = "0x1811D2E30")]
internal IEnumerator<KENFJGFMIPM> <Cleanup>g__DisposeEOF|0()
{
/*
An exception occurred when decompiling this method (0600EC95)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IEnumerator`1<KENFJGFMIPM> RecRoom.Avatars.Outfit.OutfitRenderSetup/AOBNBGBEILA::<Cleanup>g__DisposeEOF|0()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
call:void('<<Cleanup>g__DisposeEOF|0>d'::System.IDisposable.Dispose, ldloc:'<<Cleanup>g__DisposeEOF|0>d'(var_0))
stfld:int32('<<Cleanup>g__DisposeEOF|0>d'::<>1__state, ldloc:'<<Cleanup>g__DisposeEOF|0>d'(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0)))
stfld:AOBNBGBEILA('<<Cleanup>g__DisposeEOF|0>d'::<>4__this, ldloc:'<<Cleanup>g__DisposeEOF|0>d'(var_0), ldloc:AOBNBGBEILA(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: 0x04009C66 RID: 40038
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009C66")]
public IKAEDJBFIMM<KJDIAJKHGNG> disposeHandle;
// Token: 0x020023D5 RID: 9173
[Token(Token = "0x20023D5")]
private sealed class <<Cleanup>g__DisposeEOF|0>d : IEnumerator<KENFJGFMIPM>, IEnumerator, IDisposable
{
// Token: 0x0600EC96 RID: 60566 RVA: 0x000396E2 File Offset: 0x000378E2
[Token(Token = "0x600EC96")]
[Address(RVA = "0x445B90", Offset = "0x444990", VA = "0x180445B90")]
[DebuggerHidden]
public <<Cleanup>g__DisposeEOF|0>d(int <>1__state)
{
}
// Token: 0x0600EC97 RID: 60567 RVA: 0x000396E2 File Offset: 0x000378E2
[Token(Token = "0x600EC97")]
[Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "5")]
[DebuggerHidden]
void IDisposable.Dispose()
{
}
// Token: 0x0600EC98 RID: 60568 RVA: 0x00366FBC File Offset: 0x003651BC
[Token(Token = "0x600EC98")]
[Address(RVA = "0x11F5AA0", Offset = "0x11F48A0", VA = "0x1811F5AA0", Slot = "6")]
private bool MoveNext()
{
return default(bool);
}
// Token: 0x17002670 RID: 9840
// (get) Token: 0x0600EC99 RID: 60569 RVA: 0x000624CE File Offset: 0x000606CE
[Token(Token = "0x17002670")]
private KENFJGFMIPM System.Collections.Generic.IEnumerator<RecRoom.Core.ISchedule>.Current
{
[Token(Token = "0x600EC99")]
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40", Slot = "4")]
[DebuggerHidden]
get
{
return null;
}
}
// Token: 0x0600EC9A RID: 60570 RVA: 0x000396E2 File Offset: 0x000378E2
[Token(Token = "0x600EC9A")]
[Address(RVA = "0x11F5B60", Offset = "0x11F4960", VA = "0x1811F5B60", Slot = "8")]
[DebuggerHidden]
void IEnumerator.Reset()
{
}
// Token: 0x17002671 RID: 9841
// (get) Token: 0x0600EC9B RID: 60571 RVA: 0x000624CE File Offset: 0x000606CE
[Token(Token = "0x17002671")]
object IEnumerator.Current
{
[Token(Token = "0x600EC9B")]
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40", Slot = "7")]
[DebuggerHidden]
get
{
return null;
}
}
// Token: 0x04009C67 RID: 40039
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009C67")]
private int <>1__state;
// Token: 0x04009C68 RID: 40040
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009C68")]
private KENFJGFMIPM <>2__current;
// Token: 0x04009C69 RID: 40041
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4009C69")]
public OutfitRenderSetup.AOBNBGBEILA <>4__this;
}
}
}
}
@@ -0,0 +1,817 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
using Photon.Pun;
using RecRoom.Avatars.Data.Runtime;
using RecRoom.Avatars.Data.Shared;
using UnityEngine;
namespace RecRoom.Avatars.Outfit
{
// Token: 0x020023D7 RID: 9175
[Token(Token = "0x20023D7")]
public class OutfitTool : MonoBehaviourPun
{
// Token: 0x17002672 RID: 9842
// (get) Token: 0x0600ECA1 RID: 60577 RVA: 0x0036720C File Offset: 0x0036540C
[Token(Token = "0x17002672")]
private Player PLEAGBOMPHC
{
[Token(Token = "0x600ECA1")]
[Address(RVA = "0x11E23E0", Offset = "0x11E11E0", VA = "0x1811E23E0")]
get
{
PlayerSpawnedEquipment <FLFJCIPBAPA>k__BackingField = this.tool.<FLFJCIPBAPA>k__BackingField;
int num = 0;
if (<FLFJCIPBAPA>k__BackingField != num)
{
return this.tool.<FLFJCIPBAPA>k__BackingField.<APAJHLAPLCB>k__BackingField;
}
throw new NullReferenceException();
}
}
// Token: 0x17002673 RID: 9843
// (get) Token: 0x0600ECA2 RID: 60578 RVA: 0x0036724C File Offset: 0x0036544C
[Token(Token = "0x17002673")]
private bool BOOLNLGPKOE
{
[Token(Token = "0x600ECA2")]
[Address(RVA = "0x11E2560", Offset = "0x11E1360", VA = "0x1811E2560")]
get
{
Player player = this.PLEAGBOMPHC;
int num = 0;
bool flag = player != num;
if (!flag)
{
return flag;
}
return ((IAsyncResult)this.PLEAGBOMPHC).IsCompleted;
}
}
// Token: 0x17002674 RID: 9844
// (get) Token: 0x0600ECA3 RID: 60579 RVA: 0x00367284 File Offset: 0x00365484
// (set) Token: 0x0600ECA4 RID: 60580 RVA: 0x00367298 File Offset: 0x00365498
[Token(Token = "0x17002674")]
private bool NEFBHAOCDEH
{
[Token(Token = "0x600ECA3")]
[Address(RVA = "0x535D20", Offset = "0x534B20", VA = "0x180535D20")]
get;
[Token(Token = "0x600ECA4")]
[Address(RVA = "0x536540", Offset = "0x535340", VA = "0x180536540")]
set;
}
// Token: 0x17002675 RID: 9845
// (get) Token: 0x0600ECA5 RID: 60581 RVA: 0x0000220F File Offset: 0x0000040F
// (set) Token: 0x0600ECA6 RID: 60582 RVA: 0x003672AC File Offset: 0x003654AC
[Token(Token = "0x17002675")]
private AvatarItem NJFKKOFHBKN
{
[Token(Token = "0x600ECA5")]
[Address(RVA = "0x774E90", Offset = "0x773C90", VA = "0x180774E90")]
[CompilerGenerated]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
[Token(Token = "0x600ECA6")]
[Address(RVA = "0x774AC0", Offset = "0x7738C0", VA = "0x180774AC0")]
[CompilerGenerated]
set
{
}
}
// Token: 0x17002676 RID: 9846
// (get) Token: 0x0600ECA7 RID: 60583 RVA: 0x003672BC File Offset: 0x003654BC
[Token(Token = "0x17002676")]
private AvatarItemData IHPLAJLADMP
{
[Token(Token = "0x600ECA7")]
[Address(RVA = "0x423E10", Offset = "0x422C10", VA = "0x180423E10")]
get
{
/*
An exception occurred when decompiling this method (0600ECA7)
ICSharpCode.Decompiler.DecompilerException: Error decompiling RecRoom.Avatars.Data.Shared.AvatarItemData RecRoom.Avatars.Outfit.OutfitTool::AJCDOOHEGBB()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:AvatarItem(var_0_06, ldfld:AvatarItem(OutfitTool::<ILOHMGPEJAL>k__BackingField, ldloc:OutfitTool(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: 0x17002677 RID: 9847
// (get) Token: 0x0600ECA8 RID: 60584 RVA: 0x003672D0 File Offset: 0x003654D0
[Token(Token = "0x17002677")]
public Tool PBBJCLJPFMI
{
[Token(Token = "0x600ECA8")]
[Address(RVA = "0x3FA170", Offset = "0x3F8F70", VA = "0x1803FA170")]
get
{
return this.tool;
}
}
// Token: 0x17002678 RID: 9848
// (get) Token: 0x0600ECA9 RID: 60585 RVA: 0x003672E4 File Offset: 0x003654E4
[Token(Token = "0x17002678")]
private Renderer GNCEHPBKKFP
{
[Token(Token = "0x600ECA9")]
[Address(RVA = "0x11E1FB0", Offset = "0x11E0DB0", VA = "0x1811E1FB0")]
get
{
return this.renderSetup._itemRenderer;
}
}
// Token: 0x17002679 RID: 9849
// (get) Token: 0x0600ECAA RID: 60586 RVA: 0x00367304 File Offset: 0x00365504
[Token(Token = "0x17002679")]
private ToolCollider GOGEFPCNPJC
{
[Token(Token = "0x600ECAA")]
[Address(RVA = "0x11E2780", Offset = "0x11E1580", VA = "0x1811E2780")]
get
{
List<ToolCollider> nnbalfkkndo = this.tool.NNBALFKKNDO;
if (nnbalfkkndo != 0)
{
int num = 0;
num += num;
num++;
int num2 = 0;
int num3 = 0;
((ICollection)nnbalfkkndo).CopyTo(num3, num2);
num3 += num3;
int num4 = 0;
((ICollection)nnbalfkkndo).CopyTo(num4, num2);
}
throw new NullReferenceException();
}
}
// Token: 0x1700267A RID: 9850
// (get) Token: 0x0600ECAB RID: 60587 RVA: 0x00367350 File Offset: 0x00365550
[Token(Token = "0x1700267A")]
public Player.GAHEJKDCLLE CLOHIBOOAIK
{
[Token(Token = "0x600ECAB")]
[Address(RVA = "0x11E3700", Offset = "0x11E2500", VA = "0x1811E3700")]
get
{
AvatarItem avatarItem = this.<ILOHMGPEJAL>k__BackingField;
Player.GAHEJKDCLLE gahejkdclle;
return gahejkdclle;
}
}
// Token: 0x1700267B RID: 9851
// (get) Token: 0x0600ECAC RID: 60588 RVA: 0x0036736C File Offset: 0x0036556C
[Token(Token = "0x1700267B")]
private bool BBOMMGLFOHG
{
[Token(Token = "0x600ECAC")]
[Address(RVA = "0xF0A080", Offset = "0xF08E80", VA = "0x180F0A080")]
get
{
return this.DONHPEAPBHK.CFLJGNJLBFG;
}
}
// Token: 0x0600ECAD RID: 60589 RVA: 0x0036738C File Offset: 0x0036558C
[Token(Token = "0x600ECAD")]
[Address(RVA = "0x11E1980", Offset = "0x11E0780", VA = "0x1811E1980")]
public void AddEquipOnCollisionRestriction(object PIHIPPPPEBI)
{
this.DONHPEAPBHK.BPAJKKAGPKB(PIHIPPPPEBI);
}
// Token: 0x0600ECAE RID: 60590 RVA: 0x003673AC File Offset: 0x003655AC
[Token(Token = "0x600ECAE")]
[Address(RVA = "0x11E1980", Offset = "0x11E0780", VA = "0x1811E1980")]
public void RemoveEquipOnCollisionRestriction(object PIHIPPPPEBI)
{
this.DONHPEAPBHK.BPAJKKAGPKB(PIHIPPPPEBI);
}
// Token: 0x1700267C RID: 9852
// (get) Token: 0x0600ECAF RID: 60591 RVA: 0x003673CC File Offset: 0x003655CC
// (set) Token: 0x0600ECB0 RID: 60592 RVA: 0x003673E0 File Offset: 0x003655E0
[Token(Token = "0x1700267C")]
private OutfitTool.OJGDBFHHOLH DAIOGLFJPGM
{
[Token(Token = "0x600ECAF")]
[Address(RVA = "0x3FA190", Offset = "0x3F8F90", VA = "0x1803FA190")]
get
{
return this.JIKGGMCEOBJ;
}
[Token(Token = "0x600ECB0")]
[Address(RVA = "0x11E1FD0", Offset = "0x11E0DD0", VA = "0x1811E1FD0")]
set
{
if (this.JIKGGMCEOBJ != value)
{
this.JIKGGMCEOBJ = value;
if (value == OutfitTool.OJGDBFHHOLH.Wearing || value == OutfitTool.OJGDBFHHOLH.Attaching)
{
PlayerSpawnedEquipment <FLFJCIPBAPA>k__BackingField = this.tool.<FLFJCIPBAPA>k__BackingField;
int num = 0;
if (<FLFJCIPBAPA>k__BackingField != num && this.tool.<FLFJCIPBAPA>k__BackingField.HICLCBMIPIN)
{
Tool tool = this.tool;
PlayerSpawnedEquipment <FLFJCIPBAPA>k__BackingField2 = tool.<FLFJCIPBAPA>k__BackingField;
int num2 = 0;
<FLFJCIPBAPA>k__BackingField2.HICLCBMIPIN = num2 != 0;
AvatarItem avatarItem = this.<ILOHMGPEJAL>k__BackingField;
bool <HODFNLHEIJK>k__BackingField = tool.<HODFNLHEIJK>k__BackingField;
bool flag;
if (flag)
{
}
}
}
MFBGLIHGCGO<OutfitTool.OJGDBFHHOLH> ikdgnajppkk = this.IKDGNAJPPKK;
}
}
}
// Token: 0x0600ECB1 RID: 60593 RVA: 0x00367474 File Offset: 0x00365674
[Token(Token = "0x600ECB1")]
[Address(RVA = "0x11E1D60", Offset = "0x11E0B60", VA = "0x1811E1D60", Slot = "13")]
protected override void Awake()
{
base..ctor();
MFBGLIHGCGO<AvatarItemSelection> localPlayerEquippedAvatarItemEvent = PlayerAvatar.LocalPlayerEquippedAvatarItemEvent;
Action<AvatarItemSelection> action = new Action(this.JAEPAFAOJFE);
MFBGLIHGCGO<AvatarItemSelection> localPlayerRemovedAvatarItemEvent = PlayerAvatar.LocalPlayerRemovedAvatarItemEvent;
Action<AvatarItemSelection> action2 = new Action(this.LECNJBBOHAC);
}
// Token: 0x0600ECB2 RID: 60594 RVA: 0x003674B4 File Offset: 0x003656B4
[Token(Token = "0x600ECB2")]
[Address(RVA = "0x11E3130", Offset = "0x11E1F30", VA = "0x1811E3130")]
private void Start()
{
Tool tool2;
for (;;)
{
Tool tool = this.tool;
int num = 0;
int num2 = 0;
if (tool == num2)
{
goto IL_194;
}
this.tool.HeldCollisionLayer = (DAJFOCGPHGP)((ulong)13L);
if (this.tool.InstantiationParameters == 0)
{
goto IL_71;
}
bool flag = this.tool.InstantiationParameters.TryGetValue("AvatarItem", num);
if (!flag)
{
goto IL_71;
}
if (!flag || flag)
{
if (flag)
{
break;
}
if (tool2 == 0 || tool2 != 0)
{
goto IL_147;
}
}
}
int num3 = 0;
this.<KJCGHECBBMN>k__BackingField = num3 != 0;
IL_71:
Tool tool3 = this.tool;
Tool.DIMPKKAHGAC dimpkkahgac = new Tool.DIMPKKAHGAC(this.GNDJDFKHLFH);
tool3.CustomHandSpacePickupTransformModifier = dimpkkahgac;
Tool tool4 = this.tool;
MFBGLIHGCGO<Tool> postPickupEvent = tool4.PostPickupEvent;
Action<Tool> action = new Action(this.HAAIALDMMEL);
MFBGLIHGCGO<Tool> mfbglihgcgo = MFBGLIHGCGO.BPJDFPACLMK(postPickupEvent, action);
tool4.PostPickupEvent = mfbglihgcgo;
Tool tool5 = this.tool;
MFBGLIHGCGO<Tool> preReleaseEvent = tool5.PreReleaseEvent;
Action<Tool> action2 = new Action(this.BGEJPLCKLPA);
MFBGLIHGCGO<Tool> mfbglihgcgo2 = MFBGLIHGCGO.BPJDFPACLMK(preReleaseEvent, action2);
tool5.PreReleaseEvent = mfbglihgcgo2;
Tool tool6 = this.tool;
MFBGLIHGCGO<Tool> postReleaseEvent = tool6.PostReleaseEvent;
Action<Tool> action3 = new Action(this.OIOCPLEKMEK);
MFBGLIHGCGO<Tool> mfbglihgcgo3 = MFBGLIHGCGO.BPJDFPACLMK(postReleaseEvent, action3);
tool6.PostReleaseEvent = mfbglihgcgo3;
tool2 = this.tool;
tool2.DODDBBEOJNN = true;
return;
IL_147:
this.<KJCGHECBBMN>k__BackingField = true;
this.DAIOGLFJPGM = OutfitTool.OJGDBFHHOLH.None;
GameObject gameObject = base.gameObject;
IntPtr cachedPtr = this.m_CachedPtr;
string text;
gameObject.name = text;
OutfitRenderSetup outfitRenderSetup = this.renderSetup;
AvatarItem item;
Action action4 = delegate
{
OutfitTool <>4__this = this;
int num4 = 0;
if (!(<>4__this == num4))
{
OutfitTool <>4__this2 = this;
AvatarItem item2 = item;
<>4__this2.MCCIOEDEPNC(item2);
}
};
IL_194:
Debug.LogError(base.name + " is missing a tool component.");
OMCHJHPFBDN.KGFPNIMJHIC(base.gameObject);
}
// Token: 0x0600ECB3 RID: 60595 RVA: 0x00367694 File Offset: 0x00365894
[Token(Token = "0x600ECB3")]
[Address(RVA = "0x11E2C30", Offset = "0x11E1A30", VA = "0x1811E2C30", Slot = "14")]
protected override void OnDestroy()
{
base.OnDestroy();
Tool tool = this.tool;
int num = 0;
if (tool != num)
{
Tool tool2 = this.tool;
MFBGLIHGCGO<Tool> postPickupEvent = tool2.PostPickupEvent;
Action<Tool> action = new Action(this.HAAIALDMMEL);
MFBGLIHGCGO<Tool> mfbglihgcgo = MFBGLIHGCGO.GMNMHGMFGOL(postPickupEvent, action);
tool2.PostPickupEvent = mfbglihgcgo;
Tool tool3 = this.tool;
MFBGLIHGCGO<Tool> preReleaseEvent = tool3.PreReleaseEvent;
Action<Tool> action2 = new Action(this.BGEJPLCKLPA);
MFBGLIHGCGO<Tool> mfbglihgcgo2 = MFBGLIHGCGO.GMNMHGMFGOL(preReleaseEvent, action2);
tool3.PreReleaseEvent = mfbglihgcgo2;
Tool tool4 = this.tool;
MFBGLIHGCGO<Tool> postReleaseEvent = tool4.PostReleaseEvent;
Action<Tool> action3 = new Action(this.OIOCPLEKMEK);
MFBGLIHGCGO<Tool> mfbglihgcgo3 = MFBGLIHGCGO.GMNMHGMFGOL(postReleaseEvent, action3);
tool4.PostReleaseEvent = mfbglihgcgo3;
}
MFBGLIHGCGO<AvatarItemSelection> localPlayerEquippedAvatarItemEvent = PlayerAvatar.LocalPlayerEquippedAvatarItemEvent;
Action<AvatarItemSelection> action4 = new Action(this.JAEPAFAOJFE);
MFBGLIHGCGO<AvatarItemSelection> localPlayerRemovedAvatarItemEvent = PlayerAvatar.LocalPlayerRemovedAvatarItemEvent;
Action<AvatarItemSelection> action5 = new Action(this.LECNJBBOHAC);
}
// Token: 0x0600ECB4 RID: 60596 RVA: 0x00367784 File Offset: 0x00365984
[Token(Token = "0x600ECB4")]
[Address(RVA = "0x11E2E80", Offset = "0x11E1C80", VA = "0x1811E2E80")]
private void OnTriggerEnter(Collider GLPOLGOBLAA)
{
bool flag = this.DONHPEAPBHK.CFLJGNJLBFG;
if (!flag && this.<KJCGHECBBMN>k__BackingField != flag && this.tool.FNFNLDBILFE && GLPOLGOBLAA.gameObject.KHHDLOKCNHC((IIBIOPCKHGK)((uint)1053184)))
{
int num = 0;
Player player;
ulong num2;
if (!(player == num) && this.BOOLNLGPKOE && (ulong)this.tool.<PBCNKLKCIHJ>k__BackingField.HECJOOCGPLM != num2)
{
AvatarItem avatarItem = this.<ILOHMGPEJAL>k__BackingField;
bool flag2;
if (flag2)
{
this.ApplyToPlayer(player);
}
}
}
}
// Token: 0x0600ECB5 RID: 60597 RVA: 0x00367810 File Offset: 0x00365A10
[Token(Token = "0x600ECB5")]
[Address(RVA = "0x11E24B0", Offset = "0x11E12B0", VA = "0x1811E24B0")]
private void JAEPAFAOJFE(AvatarItemSelection NLNHFEEMFBN)
{
AvatarItem avatarItem = this.<ILOHMGPEJAL>k__BackingField;
Player.GAHEJKDCLLE ekjiekfmfmh = this.EKJIEKFMFMH;
Player.GAHEJKDCLLE bodyPart = NLNHFEEMFBN._bodyPart;
if (ekjiekfmfmh != bodyPart)
{
}
int num = 0;
this.DAIOGLFJPGM = (OutfitTool.OJGDBFHHOLH)num;
}
// Token: 0x0600ECB6 RID: 60598 RVA: 0x0036784C File Offset: 0x00365A4C
[Token(Token = "0x600ECB6")]
[Address(RVA = "0x11E2850", Offset = "0x11E1650", VA = "0x1811E2850")]
private void LECNJBBOHAC(AvatarItemSelection NLNHFEEMFBN)
{
AvatarItem avatarItem = this.<ILOHMGPEJAL>k__BackingField;
Player.GAHEJKDCLLE ekjiekfmfmh = this.EKJIEKFMFMH;
Player.GAHEJKDCLLE bodyPart = NLNHFEEMFBN._bodyPart;
if (ekjiekfmfmh != bodyPart)
{
}
this.DAIOGLFJPGM = OutfitTool.OJGDBFHHOLH.NotWearing;
}
// Token: 0x0600ECB7 RID: 60599 RVA: 0x00367884 File Offset: 0x00365A84
[Token(Token = "0x600ECB7")]
[Address(RVA = "0x11E2610", Offset = "0x11E1410", VA = "0x1811E2610")]
private void KOIMAAOIOON()
{
if (this.<KJCGHECBBMN>k__BackingField)
{
Renderer itemRenderer = this.renderSetup._itemRenderer;
int num = 0;
if (!(itemRenderer == num))
{
AvatarItem avatarItem = this.<ILOHMGPEJAL>k__BackingField;
Material material = this.renderSetup._itemRenderer.GetMaterial();
}
}
}
// Token: 0x0600ECB8 RID: 60600 RVA: 0x003678D0 File Offset: 0x00365AD0
[Token(Token = "0x600ECB8")]
[Address(RVA = "0x11E2FF0", Offset = "0x11E1DF0", VA = "0x1811E2FF0")]
public DABKFAIHBBP SetSelectedItemAsync(AvatarItem IOBEPGLJNIP)
{
this.<KJCGHECBBMN>k__BackingField = true;
this.DAIOGLFJPGM = OutfitTool.OJGDBFHHOLH.None;
AvatarItem avatarItem = this.<ILOHMGPEJAL>k__BackingField;
string text;
base.gameObject.name = text;
OutfitRenderSetup outfitRenderSetup = this.renderSetup;
AvatarItem item;
AvatarItem item3 = item;
DABKFAIHBBP dabkfaihbbp = outfitRenderSetup.LoadItemAsync(item3);
Action action = delegate
{
OutfitTool <>4__this = this;
int num = 0;
if (!(<>4__this == num))
{
OutfitTool <>4__this2 = this;
AvatarItem item2 = item;
<>4__this2.MCCIOEDEPNC(item2);
}
};
throw new NullReferenceException();
}
// Token: 0x0600ECB9 RID: 60601 RVA: 0x00367938 File Offset: 0x00365B38
[Token(Token = "0x600ECB9")]
[Address(RVA = "0x11E2190", Offset = "0x11E0F90", VA = "0x1811E2190")]
private void FDDGKCHAGKD()
{
int num = 0;
this.<KJCGHECBBMN>k__BackingField = num != 0;
this.<ILOHMGPEJAL>k__BackingField = num;
}
// Token: 0x0600ECBA RID: 60602 RVA: 0x00367958 File Offset: 0x00365B58
[Token(Token = "0x600ECBA")]
[Address(RVA = "0x11E2930", Offset = "0x11E1730", VA = "0x1811E2930")]
private void MCCIOEDEPNC(AvatarItem IOBEPGLJNIP)
{
Player.GAHEJKDCLLE gahejkdclle;
this.EKJIEKFMFMH = gahejkdclle;
Player player = this.PLEAGBOMPHC;
int num = 0;
if (player != num && this.<KJCGHECBBMN>k__BackingField)
{
Renderer itemRenderer = this.renderSetup._itemRenderer;
int num2 = 0;
if (!(itemRenderer == num2))
{
AvatarItem avatarItem = this.<ILOHMGPEJAL>k__BackingField;
Material material = this.renderSetup._itemRenderer.GetMaterial();
}
}
if (this.BOOLNLGPKOE)
{
PlayerAvatar playerAvatar = this.PLEAGBOMPHC.playerAvatar;
}
}
// Token: 0x0600ECBB RID: 60603 RVA: 0x003679D8 File Offset: 0x00365BD8
[Token(Token = "0x600ECBB")]
[Address(RVA = "0x11E1F20", Offset = "0x11E0D20", VA = "0x1811E1F20")]
private void COOOPLLHHGB(float BJJEDIGOMGC)
{
this.DONHPEAPBHK.BPAJKKAGPKB(this);
Action action = new Action(this.FLPPOBLDIJP);
KFBABPAPIMB kfbabpapimb = this.NLBLFPBOCLD(BJJEDIGOMGC, action);
}
// Token: 0x0600ECBC RID: 60604 RVA: 0x00367A10 File Offset: 0x00365C10
[Token(Token = "0x600ECBC")]
[Address(RVA = "0x11E19A0", Offset = "0x11E07A0", VA = "0x1811E19A0")]
public void ApplyToPlayer(Player IEKDDPPNFPF)
{
for (;;)
{
AvatarItem avatarItem = this.<ILOHMGPEJAL>k__BackingField;
bool flag;
if (!flag || this.JIKGGMCEOBJ == OutfitTool.OJGDBFHHOLH.Attaching)
{
return;
}
int num = 0;
if (!(IEKDDPPNFPF != num))
{
break;
}
AvatarItem avatarItem2 = this.<ILOHMGPEJAL>k__BackingField;
bool flag2 = MNHEFLIMKGO.JDJOHHLOEJK();
if (this.tool.FNFNLDBILFE)
{
goto Block_3;
}
}
object[] array = new object[4];
if ("SetOutfitToPlayer has null player. BodyPart : " != 0)
{
}
array[0] = "SetOutfitToPlayer has null player. BodyPart : ";
AvatarItem avatarItem3 = this.<ILOHMGPEJAL>k__BackingField;
Player.GAHEJKDCLLE gahejkdclle;
if (gahejkdclle != Player.GAHEJKDCLLE.Head)
{
}
array[1] = gahejkdclle;
if (" - " != 0)
{
}
array[2] = " - ";
string text = base.gameObject.AOEFKLMCCGH();
if (text != 0)
{
}
array[3] = text;
Debug.LogError(string.Concat(array));
return;
Block_3:
this.DAIOGLFJPGM = OutfitTool.OJGDBFHHOLH.Attaching;
Tool tool = this.tool;
OKIMOMGKKDH ekjclgjfign = OKIMOMGKKDH.EKJCLGJFIGN;
tool.IKEGONLJBPP = ekjclgjfign;
}
// Token: 0x0600ECBD RID: 60605 RVA: 0x00367AF8 File Offset: 0x00365CF8
[Token(Token = "0x600ECBD")]
[Address(RVA = "0x11E22E0", Offset = "0x11E10E0", VA = "0x1811E22E0")]
private void HAAIALDMMEL(Tool EGFEJGHDNAI)
{
Tool tool = this.tool;
int num = 0;
int num2 = 0;
tool.SetUsingGravityRigidBody(num2 != 0);
Tool tool2 = this.tool;
List<ToolCollider> nnbalfkkndo = tool2.NNBALFKKNDO;
int num3 = 0;
int num4;
if (num3 < num)
{
num3 += num3;
if (num3 == num)
{
num4 += num4;
throw new NullReferenceException();
}
num3++;
}
ulong num5;
tool2.enabled = num5 != 0UL;
Tool tool3 = this.tool;
num4 = 0;
tool3.EnableUnderhandToss(num4 != 0, this);
}
// Token: 0x0600ECBE RID: 60606 RVA: 0x00367B6C File Offset: 0x00365D6C
[Token(Token = "0x600ECBE")]
[Address(RVA = "0x11E1E80", Offset = "0x11E0C80", VA = "0x1811E1E80")]
private void BGEJPLCKLPA(Tool NBHJPDBHDHB)
{
if (this.tool.PAJGCGDFHKK)
{
this.DONHPEAPBHK.BPAJKKAGPKB(this);
Action action = new Action(this.FLPPOBLDIJP);
KFBABPAPIMB kfbabpapimb = this.NLBLFPBOCLD(1f, action);
}
}
// Token: 0x0600ECBF RID: 60607 RVA: 0x00367BB4 File Offset: 0x00365DB4
[Token(Token = "0x600ECBF")]
[Address(RVA = "0x11E2BA0", Offset = "0x11E19A0", VA = "0x1811E2BA0")]
private void OIOCPLEKMEK(Tool EGFEJGHDNAI)
{
if (this.tool.PAJGCGDFHKK)
{
Tool tool = this.tool;
int num = 0;
tool.SetUsingGravityRigidBody(num != 0);
OutfitTool.OJGDBFHHOLH jikggmceobj = this.JIKGGMCEOBJ;
if (jikggmceobj == OutfitTool.OJGDBFHHOLH.Attaching || jikggmceobj != OutfitTool.OJGDBFHHOLH.Wearing)
{
int num2 = 0;
this.DAIOGLFJPGM = (OutfitTool.OJGDBFHHOLH)num2;
}
this.tool.EnableUnderhandToss(true, this);
}
}
// Token: 0x0600ECC0 RID: 60608 RVA: 0x00367C0C File Offset: 0x00365E0C
[Token(Token = "0x600ECC0")]
[Address(RVA = "0x11E2900", Offset = "0x11E1700", VA = "0x1811E2900")]
private bool LHMCGNJOABN(Player IEKDDPPNFPF)
{
OutfitTool.OJGDBFHHOLH jikggmceobj = this.JIKGGMCEOBJ;
if (jikggmceobj != OutfitTool.OJGDBFHHOLH.Attaching)
{
return jikggmceobj == OutfitTool.OJGDBFHHOLH.Wearing;
}
int num = 0;
this.DAIOGLFJPGM = (OutfitTool.OJGDBFHHOLH)num;
return true;
}
// Token: 0x0600ECC1 RID: 60609 RVA: 0x00367C34 File Offset: 0x00365E34
[Token(Token = "0x600ECC1")]
[Address(RVA = "0x11E2480", Offset = "0x11E1280", VA = "0x1811E2480")]
private void IPJELGFGGLL(Player IEKDDPPNFPF)
{
OutfitTool.OJGDBFHHOLH jikggmceobj = this.JIKGGMCEOBJ;
if (jikggmceobj == OutfitTool.OJGDBFHHOLH.Attaching)
{
int num = 0;
this.DAIOGLFJPGM = (OutfitTool.OJGDBFHHOLH)num;
return;
}
if (jikggmceobj != OutfitTool.OJGDBFHHOLH.Wearing)
{
this.DAIOGLFJPGM = (OutfitTool.OJGDBFHHOLH)((uint)1);
return;
}
}
// Token: 0x0600ECC2 RID: 60610 RVA: 0x00367C64 File Offset: 0x00365E64
[Token(Token = "0x600ECC2")]
[Address(RVA = "0x11E21E0", Offset = "0x11E0FE0", VA = "0x1811E21E0")]
private void GNDJDFKHLFH(Transform BGCMCCOABIJ, bool JKGLJIHNJFJ, ref Vector3 DDHPAFKBMON, ref Quaternion IGPENJBJADK)
{
float z = Vector3.zero.z;
DDHPAFKBMON.z = z;
Transform transform = base.transform;
}
// Token: 0x0600ECC3 RID: 60611 RVA: 0x00367C90 File Offset: 0x00365E90
[Token(Token = "0x600ECC3")]
[Address(RVA = "0x11E3660", Offset = "0x11E2460", VA = "0x1811E3660")]
public OutfitTool()
{
int num;
int num2;
MFBGLIHGCGO<OutfitTool.OJGDBFHHOLH> mfbglihgcgo = new MFBGLIHGCGO(4, num != 0, num2 != 0);
num2 = 0;
num = 0;
this.IKDGNAJPPKK = mfbglihgcgo;
this.JIKGGMCEOBJ = (OutfitTool.OJGDBFHHOLH)((ulong)(-1L));
AOLMGGAPKEH aolmggapkeh = new AOLMGGAPKEH();
this.DONHPEAPBHK = aolmggapkeh;
base..ctor();
}
// Token: 0x0600ECC5 RID: 60613 RVA: 0x00367CEC File Offset: 0x00365EEC
[Token(Token = "0x600ECC5")]
[Address(RVA = "0x11E21B0", Offset = "0x11E0FB0", VA = "0x1811E21B0")]
[CompilerGenerated]
private void FLPPOBLDIJP()
{
this.DONHPEAPBHK.BPAJKKAGPKB(this);
}
// Token: 0x04009C6F RID: 40047
[Token(Token = "0x4009C6F")]
private static readonly int POKIHAFIPHE = Shader.PropertyToID("_Red_Col");
// Token: 0x04009C70 RID: 40048
[Token(Token = "0x4009C70")]
public const string AVATAR_ITEM_INSTANTIATION_PARAM_KEY = "AvatarItem";
// Token: 0x04009C71 RID: 40049
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4009C71")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false, false)]
private OutfitRenderSetup renderSetup;
// Token: 0x04009C72 RID: 40050
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4009C72")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false, false)]
private Tool tool;
// Token: 0x04009C73 RID: 40051
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4009C73")]
private readonly MFBGLIHGCGO<OutfitTool.OJGDBFHHOLH> IKDGNAJPPKK;
// Token: 0x04009C74 RID: 40052
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4009C74")]
private OutfitTool.OJGDBFHHOLH JIKGGMCEOBJ;
// Token: 0x04009C75 RID: 40053
[FieldOffset(Offset = "0x5C")]
[Token(Token = "0x4009C75")]
private Player.GAHEJKDCLLE EKJIEKFMFMH;
// Token: 0x04009C78 RID: 40056
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4009C78")]
private readonly AOLMGGAPKEH DONHPEAPBHK;
// Token: 0x020023D8 RID: 9176
[Token(Token = "0x20023D8")]
private enum OJGDBFHHOLH
{
// Token: 0x04009C7A RID: 40058
[Token(Token = "0x4009C7A")]
None = -1,
// Token: 0x04009C7B RID: 40059
[Token(Token = "0x4009C7B")]
Wearing,
// Token: 0x04009C7C RID: 40060
[Token(Token = "0x4009C7C")]
NotWearing,
// Token: 0x04009C7D RID: 40061
[Token(Token = "0x4009C7D")]
Attaching
}
// Token: 0x020023D9 RID: 9177
[Token(Token = "0x20023D9")]
[CompilerGenerated]
private sealed class NKEONJAFNJN
{
// Token: 0x0600ECC6 RID: 60614 RVA: 0x00367D0C File Offset: 0x00365F0C
[Token(Token = "0x600ECC6")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public NKEONJAFNJN()
{
}
// Token: 0x0600ECC7 RID: 60615 RVA: 0x00367D20 File Offset: 0x00365F20
[Token(Token = "0x600ECC7")]
[Address(RVA = "0x11D9F50", Offset = "0x11D8D50", VA = "0x1811D9F50")]
internal void <SetSelectedItemAsync>b__0()
{
OutfitTool outfitTool = this.<>4__this;
int num = 0;
if (!(outfitTool == num))
{
OutfitTool outfitTool2 = this.<>4__this;
AvatarItem avatarItem = this.item;
outfitTool2.MCCIOEDEPNC(avatarItem);
}
}
// Token: 0x04009C7E RID: 40062
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009C7E")]
public OutfitTool <>4__this;
// Token: 0x04009C7F RID: 40063
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009C7F")]
public AvatarItem item;
}
}
}
@@ -0,0 +1,155 @@
using System;
using Cpp2IlInjected;
using Photon.Pun;
using RecRoom.Activities.Quest.Goblin2;
using UnityEngine;
namespace RecRoom.Avatars.Outfit
{
// Token: 0x020023D6 RID: 9174
[Token(Token = "0x20023D6")]
public class PermanentHairDyeTool : MonoBehaviourPun
{
// Token: 0x0600EC9C RID: 60572 RVA: 0x00366FD4 File Offset: 0x003651D4
[Token(Token = "0x600EC9C")]
[Address(RVA = "0x11E3730", Offset = "0x11E2530", VA = "0x1811E3730", Slot = "13")]
protected override void Awake()
{
int num;
for (;;)
{
base..ctor();
Tool tool = this.tool;
num = 0;
if (tool.NDKHDFJHGPP || this.tool.InstantiationParameters == 0 || !this.tool.InstantiationParameters.TryGetValue("ColorGuid", num))
{
goto IL_86;
}
if (num == 0 || num != 0)
{
ColorVault.ColorToGuid colorToGuid;
this.MEBLCMDDKCK = colorToGuid;
if (colorToGuid != 0)
{
break;
}
if (num == 0 || num != 0)
{
goto IL_E4;
}
}
}
int num2 = 0;
bool flag = ColorVault.ColorToGuid.BDBLGMKABNK(0, num2);
HairDyeRenderSetup hairDyeRenderSetup = this.hairDyeRenderSetup;
ColorVault.ColorToGuid meblcmddkck = this.MEBLCMDDKCK;
hairDyeRenderSetup.SetupRenderers(meblcmddkck);
string guidString = this.MEBLCMDDKCK.guidString;
IL_86:
Tool tool2 = this.tool;
EAHPNACBLDD<Tool, Vector3, Quaternion, Vector3, bool> postResetEvent = tool2.PostResetEvent;
Action<Tool, Vector3, Quaternion, Vector3, bool> action = new Action(this.FICCBKGGJOE);
EAHPNACBLDD<Tool, Vector3, Quaternion, Vector3, bool> eahpnacbldd = EAHPNACBLDD.BPJDFPACLMK(postResetEvent, action);
tool2.PostResetEvent = eahpnacbldd;
Potion potion = this.potion;
Potion.JICLAAJLNCE jiclaajlnce = new Potion.JICLAAJLNCE(this.BHFMPLDIHFG);
potion.AOFFBPHMBBP += jiclaajlnce;
return;
IL_E4:
Debug.LogError("Can not find dye color for " + num);
KKPBCOOONNK.HMLHHNMGNAA(base.gameObject);
throw new NullReferenceException();
}
// Token: 0x0600EC9D RID: 60573 RVA: 0x003670E8 File Offset: 0x003652E8
[Token(Token = "0x600EC9D")]
[Address(RVA = "0x11E3CA0", Offset = "0x11E2AA0", VA = "0x1811E3CA0", Slot = "14")]
protected override void OnDestroy()
{
Tool tool = this.tool;
EAHPNACBLDD<Tool, Vector3, Quaternion, Vector3, bool> postResetEvent = tool.PostResetEvent;
Action<Tool, Vector3, Quaternion, Vector3, bool> action = new Action(this.FICCBKGGJOE);
EAHPNACBLDD<Tool, Vector3, Quaternion, Vector3, bool> eahpnacbldd = EAHPNACBLDD.GMNMHGMFGOL(postResetEvent, action);
tool.PostResetEvent = eahpnacbldd;
Potion potion = this.potion;
Potion.JICLAAJLNCE jiclaajlnce = new Potion.JICLAAJLNCE(this.BHFMPLDIHFG);
potion.AOFFBPHMBBP -= jiclaajlnce;
base.OnDestroy();
}
// Token: 0x0600EC9E RID: 60574 RVA: 0x0036714C File Offset: 0x0036534C
[Token(Token = "0x600EC9E")]
[Address(RVA = "0x11E3C20", Offset = "0x11E2A20", VA = "0x1811E3C20")]
private void FICCBKGGJOE(Tool NBHJPDBHDHB, Vector3 BNMOCBJEEPN, Quaternion LPHCCEOHNIN, Vector3 GMMJHABHDHE, bool ACPOOMGHPKJ)
{
KKPBCOOONNK.HMLHHNMGNAA(base.gameObject);
}
// Token: 0x0600EC9F RID: 60575 RVA: 0x00367168 File Offset: 0x00365368
[Token(Token = "0x600EC9F")]
[Address(RVA = "0x11E3AA0", Offset = "0x11E28A0", VA = "0x1811E3AA0")]
private void BHFMPLDIHFG(Potion GCEPCEDMAHI, AGAJMBPABDL IEKDDPPNFPF)
{
if (!this.OEJHFGNAGFB && IEKDDPPNFPF != 0 && IEKDDPPNFPF.DMKCIEPGGAB)
{
ColorVault.ColorToGuid meblcmddkck = this.MEBLCMDDKCK;
bool flag = MNHEFLIMKGO.JDJOHHLOEJK();
CFLMJLFBOKH.OLIPFECOMAL();
Tool tool = this.tool;
if (tool != 0)
{
PlayerSpawnedEquipment <FLFJCIPBAPA>k__BackingField = tool.<FLFJCIPBAPA>k__BackingField;
if (<FLFJCIPBAPA>k__BackingField != 0)
{
bool isNew = <FLFJCIPBAPA>k__BackingField.HICLCBMIPIN;
}
if (0 != 1)
{
PlayerSpawnedEquipment <FLFJCIPBAPA>k__BackingField2 = this.tool.<FLFJCIPBAPA>k__BackingField;
int num = 0;
<FLFJCIPBAPA>k__BackingField2.HICLCBMIPIN = num != 0;
}
}
this.OEJHFGNAGFB = true;
}
}
// Token: 0x0600ECA0 RID: 60576 RVA: 0x003671F8 File Offset: 0x003653F8
[Token(Token = "0x600ECA0")]
[Address(RVA = "0x752FB0", Offset = "0x751DB0", VA = "0x180752FB0")]
public PermanentHairDyeTool()
{
}
// Token: 0x04009C6A RID: 40042
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4009C6A")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false, false)]
protected Potion potion;
// Token: 0x04009C6B RID: 40043
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4009C6B")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false, false)]
protected HairDyeRenderSetup hairDyeRenderSetup;
// Token: 0x04009C6C RID: 40044
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4009C6C")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false, false)]
protected Tool tool;
// Token: 0x04009C6D RID: 40045
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4009C6D")]
private bool OEJHFGNAGFB;
// Token: 0x04009C6E RID: 40046
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4009C6E")]
private ColorVault.ColorToGuid MEBLCMDDKCK;
}
}