This commit is contained in:
niko
2026-04-12 16:51:38 +02:00
parent 1b6f6d81d0
commit c12fbe3fc6
17828 changed files with 2994770 additions and 0 deletions
@@ -0,0 +1,212 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Avatars.Outfit
{
// Token: 0x020024A5 RID: 9381
[Token(Token = "0x20024A5")]
[Serializable]
public class FitMeshHemisphere
{
// Token: 0x17002704 RID: 9988
// (get) Token: 0x0600F006 RID: 61446 RVA: 0x0036E0F0 File Offset: 0x0036C2F0
[Token(Token = "0x17002704")]
public bool IsRadiusValid
{
[Token(Token = "0x600F006")]
[Address(RVA = "0x1D0D9B0", Offset = "0x1D0C9B0", VA = "0x181D0D9B0")]
get
{
/*
An exception occurred when decompiling this method (0600F006)
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: 0x0600F007 RID: 61447 RVA: 0x0036E108 File Offset: 0x0036C308
[Token(Token = "0x600F007")]
[Address(RVA = "0x1D0D240", Offset = "0x1D0C240", VA = "0x181D0D240")]
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: 0x0600F008 RID: 61448 RVA: 0x0036E190 File Offset: 0x0036C390
[Token(Token = "0x600F008")]
[Address(RVA = "0x1D0D760", Offset = "0x1D0C760", VA = "0x181D0D760")]
public Vector3 HAIKKEHEIDL(Vector2 IFDPEBLFLFJ)
{
/*
An exception occurred when decompiling this method (0600F008)
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: 0x0600F009 RID: 61449 RVA: 0x0036E1B0 File Offset: 0x0036C3B0
[Token(Token = "0x600F009")]
[Address(RVA = "0x1D0CFE0", Offset = "0x1D0BFE0", VA = "0x181D0CFE0")]
public Quaternion CHDHKJJADFE(Vector2 IFDPEBLFLFJ)
{
/*
An exception occurred when decompiling this method (0600F009)
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: 0x0600F00A RID: 61450 RVA: 0x0036E1C4 File Offset: 0x0036C3C4
[Token(Token = "0x600F00A")]
[Address(RVA = "0x1D0CE50", Offset = "0x1D0BE50", VA = "0x181D0CE50")]
public Quaternion CHDHKJJADFE(Vector2 IFDPEBLFLFJ, Vector3 LGHGIHMKIMJ)
{
}
// Token: 0x0600F00B RID: 61451 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600F00B")]
[Address(RVA = "0x1D0D1B0", Offset = "0x1D0C1B0", VA = "0x181D0D1B0")]
private Vector2 DMJCJBOEPEE(Vector2 HENKKFEDNIE)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600F00C RID: 61452 RVA: 0x0036E1D4 File Offset: 0x0036C3D4
[Token(Token = "0x600F00C")]
[Address(RVA = "0x1D0D950", Offset = "0x1D0C950", VA = "0x181D0D950")]
public FitMeshHemisphere()
{
ulong num;
this.UV_CENTER_COORDINATE = num;
this.UV_CENTER_COORDINATE.y = (float)0;
this.radius = 0.13f;
base..ctor();
}
// Token: 0x0600F00D RID: 61453 RVA: 0x0036E208 File Offset: 0x0036C408
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600F00D")]
[Address(RVA = "0x1D0D7C0", Offset = "0x1D0C7C0", VA = "0x181D0D7C0")]
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: 0x04009DE1 RID: 40417
[Token(Token = "0x4009DE1")]
private static float GIZMO_RESOLUTION;
// Token: 0x04009DE2 RID: 40418
[Token(Token = "0x4009DE2")]
private static float GIZMO_POSITION_CUBE_SCALE;
// Token: 0x04009DE3 RID: 40419
[Token(Token = "0x4009DE3")]
private static float GIZMO_NORMAL_LINE_LENGTH;
// Token: 0x04009DE4 RID: 40420
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009DE4")]
private readonly Vector2 UV_CENTER_COORDINATE;
// Token: 0x04009DE5 RID: 40421
[Token(Token = "0x4009DE5")]
public static readonly Vector3 HEMISPHERE_FITMESH_PIVOT_POSITION;
// Token: 0x04009DE6 RID: 40422
[Token(Token = "0x4009DE6")]
public static readonly Quaternion HEMISPHERE_FITMESH_PIVOT_ROTATION;
// Token: 0x04009DE7 RID: 40423
[Token(Token = "0x4009DE7")]
public static readonly Vector3 HEMISPHERE_FITMESH_PIVOT_SCALE;
// Token: 0x04009DE8 RID: 40424
[Token(Token = "0x4009DE8")]
public static readonly FitMeshHemisphere Default;
// Token: 0x04009DE9 RID: 40425
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009DE9")]
[SerializeField]
public Transform HemisphereTransform;
// Token: 0x04009DEA RID: 40426
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4009DEA")]
[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: 0x020024A6 RID: 9382
[Token(Token = "0x20024A6")]
public class HairColorVault : ColorVault
{
// Token: 0x0600F00E RID: 61454 RVA: 0x0036E244 File Offset: 0x0036C444
[Token(Token = "0x600F00E")]
[Address(RVA = "0x1D0DCE0", Offset = "0x1D0CCE0", VA = "0x181D0DCE0", 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: 0x0600F00F RID: 61455 RVA: 0x0036E2AC File Offset: 0x0036C4AC
[Token(Token = "0x600F00F")]
[Address(RVA = "0x1D0E3D0", Offset = "0x1D0D3D0", VA = "0x181D0E3D0")]
public void ResetUnlockedColors()
{
int num;
do
{
num = 0;
List<ColorVault.ColorToGuid> dyeColors = this.DyeColors;
bool flag;
if (flag)
{
}
}
while (num != 0);
}
// Token: 0x0600F010 RID: 61456 RVA: 0x0036E2D0 File Offset: 0x0036C4D0
[Token(Token = "0x600F010")]
[Address(RVA = "0x1D0E320", Offset = "0x1D0D320", VA = "0x181D0E320")]
public void LinkDyesToWatchStorefront()
{
PMGCJEPKFOF<BKFGFHDDNFG> pmgcjepkfof = GEAPBDGCKMB.PGIMFDLBHON(DGOHCPBKOHD.Watch);
Action<BKFGFHDDNFG> action = new Action(this.JKELKCPEIBD);
throw new NullReferenceException();
}
// Token: 0x0600F011 RID: 61457 RVA: 0x0036E2F8 File Offset: 0x0036C4F8
[Token(Token = "0x600F011")]
[Address(RVA = "0x1D0DE30", Offset = "0x1D0CE30", VA = "0x181D0DE30")]
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: 0x0600F012 RID: 61458 RVA: 0x0036E338 File Offset: 0x0036C538
[Token(Token = "0x600F012")]
[Address(RVA = "0x1D0DEF0", Offset = "0x1D0CEF0", VA = "0x181D0DEF0")]
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: 0x0600F013 RID: 61459 RVA: 0x0036E378 File Offset: 0x0036C578
[Token(Token = "0x600F013")]
[Address(RVA = "0x1D0DFB0", Offset = "0x1D0CFB0", VA = "0x181D0DFB0", Slot = "5")]
public override ColorVault.ColorToGuid GetRandomDefault()
{
return ECNNGIFNNNM.NBMJEPIPHGC<ColorVault.ColorToGuid>(this.NaturalColors);
}
// Token: 0x0600F014 RID: 61460 RVA: 0x0036E390 File Offset: 0x0036C590
[Token(Token = "0x600F014")]
[Address(RVA = "0x1D0DFF0", Offset = "0x1D0CFF0", VA = "0x181D0DFF0", Slot = "6")]
public override ColorVault.ColorToGuid GetRandomUnlocked()
{
ColorVault.ColorToGuid colorToGuid = ECNNGIFNNNM.NBMJEPIPHGC<ColorVault.ColorToGuid>(this.DyeColors);
if (!colorToGuid.<Unlocked>k__BackingField)
{
bool shouldLoopAudio = ((AIGLMCILBAF.FAEGFHMMIDB)this).BIILOFOAKEJ;
}
return colorToGuid;
}
// Token: 0x0600F015 RID: 61461 RVA: 0x0036E3C0 File Offset: 0x0036C5C0
[Token(Token = "0x600F015")]
[Address(RVA = "0x1D0DBB0", Offset = "0x1D0CBB0", VA = "0x181D0DBB0")]
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: 0x0600F016 RID: 61462 RVA: 0x0036E414 File Offset: 0x0036C614
[Token(Token = "0x600F016")]
[Address(RVA = "0x1D0E060", Offset = "0x1D0D060", VA = "0x181D0E060")]
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: 0x0600F017 RID: 61463 RVA: 0x0036E460 File Offset: 0x0036C660
[Token(Token = "0x600F017")]
[Address(RVA = "0x1D0B280", Offset = "0x1D0A280", VA = "0x181D0B280")]
public HairColorVault()
{
this.Label = "My Vault";
Dictionary<string, ColorVault.ColorToGuid> dictionary = new Dictionary();
this.KEHDHFLKCLO = dictionary;
base..ctor();
}
// Token: 0x0600F018 RID: 61464 RVA: 0x0036E48C File Offset: 0x0036C68C
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600F018")]
[Address(RVA = "0x1D0E4D0", Offset = "0x1D0D4D0", VA = "0x181D0E4D0")]
static HairColorVault()
{
int num;
int num2;
OKNNKFGFODL oknnkfgfodl = new OKNNKFGFODL(32, num != 0, num2 != 0);
num2 = 0;
num = 0;
HairColorVault.HairDyeUnlockedEvent = oknnkfgfodl;
}
// Token: 0x0600F019 RID: 61465 RVA: 0x0036E4B0 File Offset: 0x0036C6B0
[Token(Token = "0x600F019")]
[Address(RVA = "0x1D0E180", Offset = "0x1D0D180", VA = "0x181D0E180")]
[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: 0x04009DEB RID: 40427
[Token(Token = "0x4009DEB")]
public static readonly OKNNKFGFODL HairDyeUnlockedEvent;
// Token: 0x04009DEC RID: 40428
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4009DEC")]
public List<ColorVault.ColorToGuid> NaturalColors;
// Token: 0x04009DED RID: 40429
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4009DED")]
public List<ColorVault.ColorToGuid> DyeColors;
// Token: 0x020024A7 RID: 9383
[Token(Token = "0x20024A7")]
[CompilerGenerated]
private sealed class NNLOKDMLBBL
{
// Token: 0x0600F01A RID: 61466 RVA: 0x0036E520 File Offset: 0x0036C720
[Token(Token = "0x600F01A")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public NNLOKDMLBBL()
{
}
// Token: 0x0600F01B RID: 61467 RVA: 0x0036E534 File Offset: 0x0036C734
[Token(Token = "0x600F01B")]
[Address(RVA = "0x1D0F120", Offset = "0x1D0E120", VA = "0x181D0F120")]
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: 0x04009DEE RID: 40430
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009DEE")]
public ColorVault.ColorToGuid dyeColor;
}
// Token: 0x020024A8 RID: 9384
[Token(Token = "0x20024A8")]
[CompilerGenerated]
private sealed class FNIKDHPAEBP
{
// Token: 0x0600F01C RID: 61468 RVA: 0x0036E578 File Offset: 0x0036C778
[Token(Token = "0x600F01C")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public FNIKDHPAEBP()
{
}
// Token: 0x0600F01D RID: 61469 RVA: 0x0036E58C File Offset: 0x0036C78C
[Token(Token = "0x600F01D")]
[Address(RVA = "0x1D0C540", Offset = "0x1D0B540", VA = "0x181D0C540")]
internal bool <GetColor>b__0(ColorVault.ColorToGuid dc)
{
string text = this.guidString;
return string.Equals(dc.guidString, text);
}
// Token: 0x04009DEF RID: 40431
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009DEF")]
public string guidString;
}
// Token: 0x020024A9 RID: 9385
[Token(Token = "0x20024A9")]
[CompilerGenerated]
private sealed class MMFPHJIPLGN
{
// Token: 0x0600F01E RID: 61470 RVA: 0x0036E5B4 File Offset: 0x0036C7B4
[Token(Token = "0x600F01E")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public MMFPHJIPLGN()
{
}
// Token: 0x0600F01F RID: 61471 RVA: 0x0036E5C8 File Offset: 0x0036C7C8
[Token(Token = "0x600F01F")]
[Address(RVA = "0x1D0C540", Offset = "0x1D0B540", VA = "0x181D0C540")]
internal bool <GetDyeColor>b__0(ColorVault.ColorToGuid dc)
{
string text = this.guidString;
return string.Equals(dc.guidString, text);
}
// Token: 0x04009DF0 RID: 40432
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009DF0")]
public string guidString;
}
// Token: 0x020024AA RID: 9386
[Token(Token = "0x20024AA")]
[CompilerGenerated]
private sealed class ONNFNFHKHOA
{
// Token: 0x0600F020 RID: 61472 RVA: 0x0036E5F0 File Offset: 0x0036C7F0
[Token(Token = "0x600F020")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public ONNFNFHKHOA()
{
}
// Token: 0x0600F021 RID: 61473 RVA: 0x0036E604 File Offset: 0x0036C804
[Token(Token = "0x600F021")]
[Address(RVA = "0x1D0FF00", Offset = "0x1D0EF00", VA = "0x181D0FF00")]
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: 0x04009DF1 RID: 40433
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009DF1")]
public string hairDyeDesc;
}
}
}
@@ -0,0 +1,94 @@
using System;
using System.Collections.Generic;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Avatars.Outfit
{
// Token: 0x020024AB RID: 9387
[Token(Token = "0x20024AB")]
public class HairDyeRenderSetup : MonoBehaviour
{
// Token: 0x0600F022 RID: 61474 RVA: 0x0036E638 File Offset: 0x0036C838
[Token(Token = "0x600F022")]
[Address(RVA = "0x1D0E6E0", Offset = "0x1D0D6E0", VA = "0x181D0E6E0")]
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: 0x0600F023 RID: 61475 RVA: 0x0036E6C4 File Offset: 0x0036C8C4
[Token(Token = "0x600F023")]
[Address(RVA = "0x1D0E6D0", Offset = "0x1D0D6D0", VA = "0x181D0E6D0")]
private void OnDestroy()
{
this.NPCPLFAONFO();
}
// Token: 0x0600F024 RID: 61476 RVA: 0x0036E6D8 File Offset: 0x0036C8D8
[Token(Token = "0x600F024")]
[Address(RVA = "0x1D0E540", Offset = "0x1D0D540", VA = "0x181D0E540")]
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: 0x0600F025 RID: 61477 RVA: 0x0036E718 File Offset: 0x0036C918
[Token(Token = "0x600F025")]
[Address(RVA = "0x1D0E9A0", Offset = "0x1D0D9A0", VA = "0x181D0E9A0")]
public HairDyeRenderSetup()
{
List<Material[]> list = new List();
this.AEDMAHJJPKA = list;
base..ctor();
}
// Token: 0x04009DF2 RID: 40434
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009DF2")]
[SerializeField]
private List<Renderer> itemRenderers;
// Token: 0x04009DF3 RID: 40435
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4009DF3")]
private List<Material[]> AEDMAHJJPKA;
}
}
@@ -0,0 +1,1649 @@
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: 0x020024AF RID: 9391
[Token(Token = "0x20024AF")]
public class OutfitManager : NetworkedSingletonMonoBehaviour<OutfitManager>
{
// Token: 0x0600F03F RID: 61503 RVA: 0x0036E9E8 File Offset: 0x0036CBE8
[Token(Token = "0x600F03F")]
[Address(RVA = "0x1D11120", Offset = "0x1D10120", VA = "0x181D11120")]
public EOBKJELFMIA GetBrowsableAvatarItemByGuid(string COFLAJFOPEN)
{
Dictionary<string, EOBKJELFMIA> khlonollnnf = this.KHLONOLLNNF;
int num = 0;
bool flag = khlonollnnf.TryGetValue(COFLAJFOPEN, num);
throw new NullReferenceException();
}
// Token: 0x0600F040 RID: 61504 RVA: 0x0036EA0C File Offset: 0x0036CC0C
[Token(Token = "0x600F040")]
[Address(RVA = "0x1D14C20", Offset = "0x1D13C20", VA = "0x181D14C20")]
public bool TryGetBrowsableAvatarItemByGuid(string COFLAJFOPEN, out EOBKJELFMIA IOBEPGLJNIP)
{
Dictionary<string, EOBKJELFMIA> khlonollnnf = this.KHLONOLLNNF;
bool flag;
return flag;
}
// Token: 0x0600F041 RID: 61505 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600F041")]
[Address(RVA = "0x1D111A0", Offset = "0x1D101A0", VA = "0x181D111A0")]
public DABKFAIHBBP GetBrowsableAvatarItemsByGuids(List<string> BOIHKFECIGG, List<EOBKJELFMIA> LLCIDEKMKBG)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600F042 RID: 61506 RVA: 0x0036EA28 File Offset: 0x0036CC28
[Token(Token = "0x600F042")]
[Address(RVA = "0x1D11640", Offset = "0x1D10640", VA = "0x181D11640")]
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: 0x0600F043 RID: 61507 RVA: 0x0036EA40 File Offset: 0x0036CC40
[Token(Token = "0x600F043")]
[Address(RVA = "0x1D133F0", Offset = "0x1D123F0", VA = "0x181D133F0")]
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: 0x0600F044 RID: 61508 RVA: 0x0036EAF8 File Offset: 0x0036CCF8
[Token(Token = "0x600F044")]
[Address(RVA = "0x1D13C00", Offset = "0x1D12C00", VA = "0x181D13C00")]
private DABKFAIHBBP LFGLKGGBJHF()
{
PMGCJEPKFOF<BKFGFHDDNFG> pmgcjepkfof = GEAPBDGCKMB.PGIMFDLBHON(DGOHCPBKOHD.Watch);
Action<BKFGFHDDNFG> action = new Action(this.MJGDMNODGJO);
throw new NullReferenceException();
}
// Token: 0x0600F045 RID: 61509 RVA: 0x0036EB20 File Offset: 0x0036CD20
[Token(Token = "0x600F045")]
[Address(RVA = "0x1D128F0", Offset = "0x1D118F0", VA = "0x181D128F0")]
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: 0x0600F046 RID: 61510 RVA: 0x0036EB58 File Offset: 0x0036CD58
[Token(Token = "0x600F046")]
[Address(RVA = "0x1D129A0", Offset = "0x1D119A0", VA = "0x181D129A0")]
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: 0x0600F047 RID: 61511 RVA: 0x0036EB90 File Offset: 0x0036CD90
[Token(Token = "0x600F047")]
[Address(RVA = "0x1D11010", Offset = "0x1D10010", VA = "0x181D11010")]
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: 0x0600F048 RID: 61512 RVA: 0x0036EC04 File Offset: 0x0036CE04
[Token(Token = "0x600F048")]
[Address(RVA = "0x1D10250", Offset = "0x1D0F250", VA = "0x181D10250")]
private void BLBNKOIALHE(EOBKJELFMIA FOAHCAIKPLO)
{
string text;
this.EBMJIJKHKJA.Add(text);
this.KHLONOLLNNF[text] = FOAHCAIKPLO;
}
// Token: 0x0600F049 RID: 61513 RVA: 0x0036EC30 File Offset: 0x0036CE30
[Token(Token = "0x600F049")]
[Address(RVA = "0x1D13BE0", Offset = "0x1D12BE0", VA = "0x181D13BE0")]
private static MJLPNOMEFKG KNJALGGCDMK(HOJMGAMMIAD EBMJDCLJJHG)
{
return EBMJDCLJJHG.<IPAKFAFGINE>k__BackingField;
}
// Token: 0x0600F04A RID: 61514 RVA: 0x0036EC4C File Offset: 0x0036CE4C
[Token(Token = "0x600F04A")]
[Address(RVA = "0x1D13B70", Offset = "0x1D12B70", VA = "0x181D13B70")]
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: 0x0600F04B RID: 61515 RVA: 0x0036EC80 File Offset: 0x0036CE80
[Token(Token = "0x600F04B")]
[Address(RVA = "0x1D12D20", Offset = "0x1D11D20", VA = "0x181D12D20")]
private PGCHMNKBEFJ JDFLLLCACOE(string COFLAJFOPEN)
{
/*
An exception occurred when decompiling this method (0600F04B)
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: 0x0600F04C RID: 61516 RVA: 0x0036ECAC File Offset: 0x0036CEAC
[Token(Token = "0x600F04C")]
[Address(RVA = "0x1D10440", Offset = "0x1D0F440", VA = "0x181D10440")]
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: 0x0600F04D RID: 61517 RVA: 0x0036ECEC File Offset: 0x0036CEEC
[Token(Token = "0x600F04D")]
[Address(RVA = "0x1D10D40", Offset = "0x1D0FD40", VA = "0x181D10D40")]
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: 0x0600F04E RID: 61518 RVA: 0x0036ED14 File Offset: 0x0036CF14
[Token(Token = "0x600F04E")]
[Address(RVA = "0x1D12A60", Offset = "0x1D11A60", VA = "0x181D12A60")]
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: 0x0600F04F RID: 61519 RVA: 0x0036ED4C File Offset: 0x0036CF4C
[Token(Token = "0x600F04F")]
[Address(RVA = "0x1D137D0", Offset = "0x1D127D0", VA = "0x181D137D0")]
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: 0x0600F050 RID: 61520 RVA: 0x0036EE88 File Offset: 0x0036D088
[Token(Token = "0x600F050")]
[Address(RVA = "0x1D14270", Offset = "0x1D13270", VA = "0x181D14270")]
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: 0x0600F051 RID: 61521 RVA: 0x0036EF88 File Offset: 0x0036D188
// (remove) Token: 0x0600F052 RID: 61522 RVA: 0x0036EFB0 File Offset: 0x0036D1B0
[Token(Token = "0x14000109")]
public event Action<AvatarItem> LGHHLODGCFO
{
[Token(Token = "0x600F051")]
[Address(RVA = "0x1D15530", Offset = "0x1D14530", VA = "0x181D15530")]
[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 = "0x600F052")]
[Address(RVA = "0x1D155D0", Offset = "0x1D145D0", VA = "0x181D155D0")]
[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: 0x1700270C RID: 9996
// (get) Token: 0x0600F053 RID: 61523 RVA: 0x0036EFD8 File Offset: 0x0036D1D8
[Token(Token = "0x1700270C")]
public IReadOnlyCollection<AvatarItem> KOJIFKGBDMG
{
[Token(Token = "0x600F053")]
[Address(RVA = "0x4177D0", Offset = "0x4167D0", VA = "0x1804177D0")]
get
{
/*
An exception occurred when decompiling this method (0600F053)
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: 0x0600F054 RID: 61524 RVA: 0x0036EFEC File Offset: 0x0036D1EC
[Token(Token = "0x600F054")]
[Address(RVA = "0x1D10720", Offset = "0x1D0F720", VA = "0x181D10720")]
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: 0x0600F055 RID: 61525 RVA: 0x0036F030 File Offset: 0x0036D230
[Token(Token = "0x600F055")]
[Address(RVA = "0x1D10950", Offset = "0x1D0F950", VA = "0x181D10950")]
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: 0x0600F056 RID: 61526 RVA: 0x0036F074 File Offset: 0x0036D274
[Token(Token = "0x600F056")]
[Address(RVA = "0x1D10890", Offset = "0x1D0F890", VA = "0x181D10890")]
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: 0x0600F057 RID: 61527 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600F057")]
[Address(RVA = "0x1D10500", Offset = "0x1D0F500", VA = "0x181D10500")]
private void CIEHIDMIMIB(List<NLEKGNENMCO.EPFHLDCPAOK> HLBJKPCGMHA, bool EGKKFNODGHG)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600F058 RID: 61528 RVA: 0x0036F09C File Offset: 0x0036D29C
[Token(Token = "0x600F058")]
[Address(RVA = "0x1D102F0", Offset = "0x1D0F2F0", VA = "0x181D102F0")]
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: 0x0600F059 RID: 61529 RVA: 0x0036F0F0 File Offset: 0x0036D2F0
[Token(Token = "0x600F059")]
[Address(RVA = "0x1D15160", Offset = "0x1D14160", VA = "0x181D15160")]
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: 0x0600F05A RID: 61530 RVA: 0x0036F178 File Offset: 0x0036D378
[Token(Token = "0x600F05A")]
[Address(RVA = "0x1D141F0", Offset = "0x1D131F0", VA = "0x181D141F0")]
public void MarkNotNew(AvatarItem IOBEPGLJNIP)
{
Dictionary<AvatarItem, OutfitManager.AvatarItemMetadata> onkbhglcaeg = this.ONKBHGLCAEG;
bool flag;
if (flag)
{
}
}
// Token: 0x0600F05B RID: 61531 RVA: 0x0036F198 File Offset: 0x0036D398
[Token(Token = "0x600F05B")]
[Address(RVA = "0x1D14120", Offset = "0x1D13120", VA = "0x181D14120")]
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: 0x0600F05C RID: 61532 RVA: 0x0036F1C8 File Offset: 0x0036D3C8
[Token(Token = "0x600F05C")]
[Address(RVA = "0x1D12C10", Offset = "0x1D11C10", VA = "0x181D12C10")]
public bool IsAvatarItemUnlocked(AvatarItem LACNEKHKOII)
{
HashSet<AvatarItem> nkihcllango = this.NKIHCLLANGO;
bool flag;
return flag;
}
// Token: 0x0600F05D RID: 61533 RVA: 0x0036F1E0 File Offset: 0x0036D3E0
[Token(Token = "0x600F05D")]
[Address(RVA = "0x1D12C70", Offset = "0x1D11C70", VA = "0x181D12C70")]
public bool IsAvatarItemUnlocked(string DJHKBMIDFLF)
{
/*
An exception occurred when decompiling this method (0600F05D)
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: 0x0600F05E RID: 61534 RVA: 0x0036F1F8 File Offset: 0x0036D3F8
[Token(Token = "0x600F05E")]
[Address(RVA = "0x1D12B60", Offset = "0x1D11B60", VA = "0x181D12B60")]
public bool IsAvatarItemAlreadyPurchased(AvatarItem LACNEKHKOII)
{
string text = LACNEKHKOII._avatarItemVisualData.JOPJHHOJMEE();
return SingletonMonoBehaviour.ONCPNMDGGKG.IsOutfitAvailableInGiftPackageQueue(text) || this.IsAvatarItemUnlocked(text);
}
// Token: 0x0600F05F RID: 61535 RVA: 0x0036F230 File Offset: 0x0036D430
[Token(Token = "0x600F05F")]
[Address(RVA = "0x1D12AC0", Offset = "0x1D11AC0", VA = "0x181D12AC0")]
public bool IsAvatarItemAlreadyPurchased(string DJHKBMIDFLF)
{
return SingletonMonoBehaviour.ONCPNMDGGKG.IsOutfitAvailableInGiftPackageQueue(DJHKBMIDFLF) || this.IsAvatarItemUnlocked(DJHKBMIDFLF);
}
// Token: 0x0600F060 RID: 61536 RVA: 0x0036F25C File Offset: 0x0036D45C
[Token(Token = "0x600F060")]
[Address(RVA = "0x1D117D0", Offset = "0x1D107D0", VA = "0x181D117D0")]
public bool GetItemIsNew(AvatarItem IOBEPGLJNIP)
{
Dictionary<AvatarItem, OutfitManager.AvatarItemMetadata> onkbhglcaeg = this.ONKBHGLCAEG;
bool flag;
if (!flag)
{
return flag;
}
throw new NullReferenceException();
}
// Token: 0x0600F061 RID: 61537 RVA: 0x0036F27C File Offset: 0x0036D47C
[Token(Token = "0x600F061")]
[Address(RVA = "0x1D11730", Offset = "0x1D10730", VA = "0x181D11730")]
public string GetItemFriendlyName(AvatarItem IOBEPGLJNIP)
{
Dictionary<AvatarItem, OutfitManager.AvatarItemMetadata> onkbhglcaeg = this.ONKBHGLCAEG;
bool flag;
if (!flag)
{
return string.Empty;
}
throw new NullReferenceException();
}
// Token: 0x0600F062 RID: 61538 RVA: 0x0036F2A0 File Offset: 0x0036D4A0
[Token(Token = "0x600F062")]
[Address(RVA = "0x1D119C0", Offset = "0x1D109C0", VA = "0x181D119C0")]
public string GetItemTooltip(AvatarItem IOBEPGLJNIP)
{
Dictionary<AvatarItem, OutfitManager.AvatarItemMetadata> onkbhglcaeg = this.ONKBHGLCAEG;
bool flag;
if (!flag)
{
return string.Empty;
}
throw new NullReferenceException();
}
// Token: 0x0600F063 RID: 61539 RVA: 0x0036F2C4 File Offset: 0x0036D4C4
[Token(Token = "0x600F063")]
[Address(RVA = "0x1D11930", Offset = "0x1D10930", VA = "0x181D11930")]
public PGCHMNKBEFJ GetItemRarity(AvatarItem IOBEPGLJNIP)
{
Dictionary<AvatarItem, OutfitManager.AvatarItemMetadata> onkbhglcaeg = this.ONKBHGLCAEG;
bool flag;
if (!flag)
{
return PGCHMNKBEFJ.None;
}
throw new NullReferenceException();
}
// Token: 0x0600F064 RID: 61540 RVA: 0x0036F2E4 File Offset: 0x0036D4E4
[Token(Token = "0x600F064")]
[Address(RVA = "0x1D11860", Offset = "0x1D10860", VA = "0x181D11860")]
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: 0x0600F065 RID: 61541 RVA: 0x0036F314 File Offset: 0x0036D514
[Token(Token = "0x600F065")]
[Address(RVA = "0x1D10AD0", Offset = "0x1D0FAD0", VA = "0x181D10AD0")]
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: 0x0600F066 RID: 61542 RVA: 0x0036F3A4 File Offset: 0x0036D5A4
[Token(Token = "0x600F066")]
[Address(RVA = "0x1D12630", Offset = "0x1D11630", VA = "0x181D12630")]
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: 0x0600F067 RID: 61543 RVA: 0x0036F444 File Offset: 0x0036D644
[Token(Token = "0x600F067")]
[Address(RVA = "0x1D122F0", Offset = "0x1D112F0", VA = "0x181D122F0")]
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: 0x0600F068 RID: 61544 RVA: 0x0036F4FC File Offset: 0x0036D6FC
[Token(Token = "0x600F068")]
[Address(RVA = "0x1D14EE0", Offset = "0x1D13EE0", VA = "0x181D14EE0")]
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: 0x0600F069 RID: 61545 RVA: 0x0036F558 File Offset: 0x0036D758
[Token(Token = "0x600F069")]
[Address(RVA = "0x1D150E0", Offset = "0x1D140E0", VA = "0x181D150E0")]
public bool TryGetRandomUnlockedItem(Func<AvatarItem, bool> LMAJKCLDDIF, out AvatarItem NNLFIDNBHDK)
{
return OutfitManager.TryGetRandomItem(this.NKIHCLLANGO, LMAJKCLDDIF, ref NNLFIDNBHDK);
}
// Token: 0x0600F06A RID: 61546 RVA: 0x0036F574 File Offset: 0x0036D774
[Token(Token = "0x600F06A")]
[Address(RVA = "0x1D14C90", Offset = "0x1D13C90", VA = "0x181D14C90")]
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: 0x0600F06B RID: 61547 RVA: 0x0036F5EC File Offset: 0x0036D7EC
[Token(Token = "0x600F06B")]
[Address(RVA = "0x1D10DF0", Offset = "0x1D0FDF0", VA = "0x181D10DF0")]
public AvatarBodyShape FindBodyShape(string BIPOJLIEOIB)
{
return this.BodyShapeVault.Find(BIPOJLIEOIB);
}
// Token: 0x0600F06C RID: 61548 RVA: 0x0036F60C File Offset: 0x0036D80C
[Token(Token = "0x600F06C")]
[Address(RVA = "0x1D10E20", Offset = "0x1D0FE20", VA = "0x181D10E20")]
public AvatarFaceShape FindFaceShape(string EBCJKIKPFMG)
{
AvatarFaceShapeVault faceShapeVault = this.FaceShapeVault;
Dictionary<string, AvatarFaceShape> gbehdbbngmh = faceShapeVault.GBEHDBBNGMH;
throw new NullReferenceException();
}
// Token: 0x0600F06D RID: 61549 RVA: 0x0036F648 File Offset: 0x0036D848
[Token(Token = "0x600F06D")]
[Address(RVA = "0x1D11490", Offset = "0x1D10490", VA = "0x181D11490")]
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: 0x0600F06E RID: 61550 RVA: 0x0036F6F4 File Offset: 0x0036D8F4
[Token(Token = "0x600F06E")]
[Address(RVA = "0x1D11A60", Offset = "0x1D10A60", VA = "0x181D11A60")]
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: 0x0600F06F RID: 61551 RVA: 0x0036F948 File Offset: 0x0036DB48
[Token(Token = "0x600F06F")]
[Address(RVA = "0x1D10EB0", Offset = "0x1D0FEB0", VA = "0x181D10EB0")]
public ColorVault.ColorToGuid FindHairColor(string BEIINJFEFJP, bool GNHMIFPDACD = true)
{
HairColorVault hairColorVault = this.HairColorVault;
return this.BEAFBGLAPJE(hairColorVault, BEIINJFEFJP, GNHMIFPDACD);
}
// Token: 0x0600F070 RID: 61552 RVA: 0x0036F968 File Offset: 0x0036DB68
[Token(Token = "0x600F070")]
[Address(RVA = "0x1D10FE0", Offset = "0x1D0FFE0", VA = "0x181D10FE0")]
public ColorVault.ColorToGuid FindSkinColor(string IMLCGOCPBOC, bool GNHMIFPDACD = true)
{
ColorVault skinColorVault = this.SkinColorVault;
return this.BEAFBGLAPJE(skinColorVault, IMLCGOCPBOC, GNHMIFPDACD);
}
// Token: 0x0600F071 RID: 61553 RVA: 0x0036F988 File Offset: 0x0036DB88
[Token(Token = "0x600F071")]
[Address(RVA = "0x1D0FF40", Offset = "0x1D0EF40", VA = "0x181D0FF40")]
private ColorVault.ColorToGuid BEAFBGLAPJE(ColorVault MMHAGMACGKJ, string CBCHEMNOLBO, bool GNHMIFPDACD = true)
{
Dictionary<string, ColorVault.ColorToGuid> kehdhflkclo = MMHAGMACGKJ.KEHDHFLKCLO;
throw new NullReferenceException();
}
// Token: 0x0600F072 RID: 61554 RVA: 0x0036FA3C File Offset: 0x0036DC3C
[Token(Token = "0x600F072")]
[Address(RVA = "0x1D10EE0", Offset = "0x1D0FEE0", VA = "0x181D10EE0")]
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: 0x0600F073 RID: 61555 RVA: 0x0036FA90 File Offset: 0x0036DC90
[Token(Token = "0x600F073")]
[Address(RVA = "0x1D145E0", Offset = "0x1D135E0", VA = "0x181D145E0")]
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: 0x0600F074 RID: 61556 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600F074")]
[Address(RVA = "0x1D13010", Offset = "0x1D12010", VA = "0x181D13010")]
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: 0x0600F075 RID: 61557 RVA: 0x0036FAE0 File Offset: 0x0036DCE0
[Token(Token = "0x600F075")]
[Address(RVA = "0x1D13CB0", Offset = "0x1D12CB0", VA = "0x181D13CB0")]
private Tool LPGADCJPHHD(string FNKOCNMJKLK, Player FAGBHOMBNBP, string CBCHEMNOLBO, PlayerSpawnedEquipment.IILDIBHEIDO OEFOIFHDBEN)
{
Dictionary<string, object> dictionary = new Dictionary();
int inpoaaaoahi = FAGBHOMBNBP.DBAJDHGDPOL.INPOAAAOAHI;
throw new NullReferenceException();
}
// Token: 0x0600F076 RID: 61558 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600F076")]
[Address(RVA = "0x1D148C0", Offset = "0x1D138C0", VA = "0x181D148C0")]
public PMGCJEPKFOF<OutfitRenderSetup> SpawnOutfitImposter(AvatarItem LACNEKHKOII)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600F077 RID: 61559 RVA: 0x0036FB68 File Offset: 0x0036DD68
[Token(Token = "0x600F077")]
[Address(RVA = "0x1D146E0", Offset = "0x1D136E0", VA = "0x181D146E0")]
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: 0x0600F078 RID: 61560 RVA: 0x0036FBC0 File Offset: 0x0036DDC0
[Token(Token = "0x600F078")]
[Address(RVA = "0x1D14A50", Offset = "0x1D13A50", VA = "0x181D14A50")]
public OutfitTool SpawnOutfitToolForLocalPlayer(AvatarItem FIDIMMBHIIN, PlayerSpawnedEquipment.IILDIBHEIDO OEFOIFHDBEN)
{
string name = this.outfitToolPrefab.name;
OutfitTool outfitTool;
return outfitTool;
}
// Token: 0x0600F079 RID: 61561 RVA: 0x0036FBE8 File Offset: 0x0036DDE8
[Token(Token = "0x600F079")]
[Address(RVA = "0x1D147C0", Offset = "0x1D137C0", VA = "0x181D147C0")]
public Tool SpawnHairDyeToolForLocalPlayer(string KGKDKGBFDIA, PlayerSpawnedEquipment.IILDIBHEIDO OEFOIFHDBEN)
{
string name = this.hairDyeToolPrefab.name;
Tool tool;
return tool;
}
// Token: 0x0600F07A RID: 61562 RVA: 0x0036FC0C File Offset: 0x0036DE0C
[Token(Token = "0x600F07A")]
[Address(RVA = "0x1D14BC0", Offset = "0x1D13BC0", VA = "0x181D14BC0")]
public OutfitToolUIControl SpawnOutfitUIControl()
{
return global::UnityEngine.Object.Instantiate<OutfitToolUIControl>(this.outfitToolUIControlPrefab);
}
// Token: 0x1700270D RID: 9997
// (get) Token: 0x0600F07B RID: 61563 RVA: 0x0036FC24 File Offset: 0x0036DE24
[Token(Token = "0x1700270D")]
public RecRoomAudioClip[] NIOOLMDKBHO
{
[Token(Token = "0x600F07B")]
[Address(RVA = "0x42D840", Offset = "0x42C840", VA = "0x18042D840")]
get
{
return this.equipSounds;
}
}
// Token: 0x1700270E RID: 9998
// (get) Token: 0x0600F07C RID: 61564 RVA: 0x0036FC38 File Offset: 0x0036DE38
[Token(Token = "0x1700270E")]
public RecRoomAudioClip BFDIIFNGIJH
{
[Token(Token = "0x600F07C")]
[Address(RVA = "0x44C890", Offset = "0x44B890", VA = "0x18044C890")]
get
{
return this.lockedOutfitToolClip;
}
}
// Token: 0x0600F07D RID: 61565 RVA: 0x0036FC4C File Offset: 0x0036DE4C
[Token(Token = "0x600F07D")]
[Address(RVA = "0x1D15410", Offset = "0x1D14410", VA = "0x181D15410")]
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: 0x0600F07E RID: 61566 RVA: 0x0036FCB0 File Offset: 0x0036DEB0
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600F07E")]
[Address(RVA = "0x1D15310", Offset = "0x1D14310", VA = "0x181D15310")]
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: 0x0600F07F RID: 61567 RVA: 0x0036FCF0 File Offset: 0x0036DEF0
[Token(Token = "0x600F07F")]
[Address(RVA = "0x1D13F40", Offset = "0x1D12F40", VA = "0x181D13F40")]
[CompilerGenerated]
private void MJGDMNODGJO(BKFGFHDDNFG NHACFCEIPCB)
{
List<HOJMGAMMIAD> jdgebbmdjbc = NHACFCEIPCB.JDGEBBMDJBC;
bool flag;
if (flag)
{
while (!flag)
{
}
EOBKJELFMIA eobkjelfmia;
if (eobkjelfmia == 0)
{
}
}
}
// Token: 0x0600F080 RID: 61568 RVA: 0x0036FD18 File Offset: 0x0036DF18
[Token(Token = "0x600F080")]
[Address(RVA = "0x1D10AC0", Offset = "0x1D0FAC0", VA = "0x181D10AC0")]
[CompilerGenerated]
private void ECFAHFBDGBN(List<NLEKGNENMCO.EPFHLDCPAOK> BOOHBJEEGKH)
{
int num = 0;
this.CIEHIDMIMIB(BOOHBJEEGKH, num != 0);
}
// Token: 0x0600F081 RID: 61569 RVA: 0x0036FD30 File Offset: 0x0036DF30
[Token(Token = "0x600F081")]
[Address(RVA = "0x1D10D30", Offset = "0x1D0FD30", VA = "0x181D10D30")]
[CompilerGenerated]
private void FFOFCNDPEAN(List<NLEKGNENMCO.EPFHLDCPAOK> BOOHBJEEGKH)
{
this.CIEHIDMIMIB(BOOHBJEEGKH, true);
}
// Token: 0x0600F082 RID: 61570 RVA: 0x0036FD48 File Offset: 0x0036DF48
[Token(Token = "0x600F082")]
[Address(RVA = "0x1D12DB0", Offset = "0x1D11DB0", VA = "0x181D12DB0")]
[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: 0x04009E13 RID: 40467
[Token(Token = "0x4009E13")]
private static readonly List<string> DMGKEKJIEMA = new List();
// Token: 0x04009E14 RID: 40468
[Token(Token = "0x4009E14")]
private static readonly List<string> ECAAHMIBOOC = new List();
// Token: 0x04009E15 RID: 40469
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4009E15")]
private readonly Dictionary<string, EOBKJELFMIA> KHLONOLLNNF;
// Token: 0x04009E16 RID: 40470
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4009E16")]
private readonly List<string> EBMJIJKHKJA;
// Token: 0x04009E17 RID: 40471
[Token(Token = "0x4009E17")]
public static readonly OKNNKFGFODL BrowsableItemsChangedEvent;
// Token: 0x04009E18 RID: 40472
[Token(Token = "0x4009E18")]
private static readonly List<AvatarItem> FNPHHGHPGAI;
// Token: 0x04009E1A RID: 40474
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4009E1A")]
public readonly OKNNKFGFODL UnlockedAvatarItemsChangedEvent;
// Token: 0x04009E1B RID: 40475
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4009E1B")]
private Dictionary<OutfitType, List<AvatarItem>> FCBILBFBCGJ;
// Token: 0x04009E1C RID: 40476
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4009E1C")]
private readonly HashSet<AvatarItem> NKIHCLLANGO;
// Token: 0x04009E1D RID: 40477
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4009E1D")]
private readonly Dictionary<AvatarItem, OutfitManager.AvatarItemMetadata> ONKBHGLCAEG;
// Token: 0x04009E1E RID: 40478
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4009E1E")]
[Header("Face Shapes")]
public AvatarFaceShapeVault FaceShapeVault;
// Token: 0x04009E1F RID: 40479
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x4009E1F")]
[Header("Face Features")]
public FaceStyleSet FaceStyleSet;
// Token: 0x04009E20 RID: 40480
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x4009E20")]
[Header("Body Shapes")]
public AvatarBodyShapeVault BodyShapeVault;
// Token: 0x04009E21 RID: 40481
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x4009E21")]
[Header("Colors")]
public ColorVault SkinColorVault;
// Token: 0x04009E22 RID: 40482
[FieldOffset(Offset = "0x98")]
[Token(Token = "0x4009E22")]
public HairColorVault HairColorVault;
// Token: 0x04009E23 RID: 40483
[FieldOffset(Offset = "0xA0")]
[Token(Token = "0x4009E23")]
[Header("Patterns")]
public HairPatternVault HairPatternVault;
// Token: 0x04009E24 RID: 40484
[FieldOffset(Offset = "0xA8")]
[Token(Token = "0x4009E24")]
[SerializeField]
[Header("Item spawning")]
private GameObject outfitToolPrefab;
// Token: 0x04009E25 RID: 40485
[FieldOffset(Offset = "0xB0")]
[Token(Token = "0x4009E25")]
[SerializeField]
private OutfitRenderSetup outfitImposterPrefab;
// Token: 0x04009E26 RID: 40486
[FieldOffset(Offset = "0xB8")]
[Token(Token = "0x4009E26")]
[SerializeField]
private OutfitToolUIControl outfitToolUIControlPrefab;
// Token: 0x04009E27 RID: 40487
[FieldOffset(Offset = "0xC0")]
[Token(Token = "0x4009E27")]
[SerializeField]
private PermanentHairDyeTool hairDyeToolPrefab;
// Token: 0x04009E28 RID: 40488
[FieldOffset(Offset = "0xC8")]
[Token(Token = "0x4009E28")]
[SerializeField]
private HairDyeRenderSetup hairDyeImposterPrefab;
// Token: 0x04009E29 RID: 40489
[FieldOffset(Offset = "0xD0")]
[Token(Token = "0x4009E29")]
[SerializeField]
[Header("Sounds")]
private RecRoomAudioClip[] equipSounds;
// Token: 0x04009E2A RID: 40490
[FieldOffset(Offset = "0xD8")]
[Token(Token = "0x4009E2A")]
[SerializeField]
private RecRoomAudioClip lockedOutfitToolClip;
// Token: 0x04009E2B RID: 40491
[FieldOffset(Offset = "0xE0")]
[Token(Token = "0x4009E2B")]
[Tooltip("PlayerAvatarDisplay used for debugging purposes")]
public PlayerAvatarDisplay debugDummyPrefab;
// Token: 0x020024B0 RID: 9392
[Token(Token = "0x20024B0")]
public class AvatarItemMetadata
{
// Token: 0x0600F083 RID: 61571 RVA: 0x0036FDB0 File Offset: 0x0036DFB0
[Token(Token = "0x600F083")]
[Address(RVA = "0x1D08C90", Offset = "0x1D07C90", VA = "0x181D08C90")]
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: 0x0600F084 RID: 61572 RVA: 0x0036FDF4 File Offset: 0x0036DFF4
[Token(Token = "0x600F084")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public AvatarItemMetadata()
{
}
// Token: 0x04009E2C RID: 40492
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009E2C")]
public bool IsNew;
// Token: 0x04009E2D RID: 40493
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009E2D")]
public string FriendlyName;
// Token: 0x04009E2E RID: 40494
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4009E2E")]
public string Tooltip;
// Token: 0x04009E2F RID: 40495
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4009E2F")]
public PGCHMNKBEFJ Rarity;
}
// Token: 0x020024B1 RID: 9393
[Token(Token = "0x20024B1")]
[CompilerGenerated]
private sealed class JHOBBJFPMHA
{
// Token: 0x0600F085 RID: 61573 RVA: 0x0036FE08 File Offset: 0x0036E008
[Token(Token = "0x600F085")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public JHOBBJFPMHA()
{
}
// Token: 0x0600F086 RID: 61574 RVA: 0x0036FE1C File Offset: 0x0036E01C
[Token(Token = "0x600F086")]
[Address(RVA = "0x1D0ED30", Offset = "0x1D0DD30", VA = "0x181D0ED30")]
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: 0x04009E30 RID: 40496
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009E30")]
public List<EOBKJELFMIA> results;
// Token: 0x04009E31 RID: 40497
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009E31")]
public OutfitManager <>4__this;
}
// Token: 0x020024B3 RID: 9395
[Token(Token = "0x20024B3")]
[CompilerGenerated]
private sealed class NKEOOJACMNG
{
// Token: 0x0600F093 RID: 61587 RVA: 0x00370018 File Offset: 0x0036E218
[Token(Token = "0x600F093")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public NKEOOJACMNG()
{
}
// Token: 0x0600F094 RID: 61588 RVA: 0x0037002C File Offset: 0x0036E22C
[Token(Token = "0x600F094")]
[Address(RVA = "0x1D0C540", Offset = "0x1D0B540", VA = "0x181D0C540")]
internal bool <UnlockAvatarItemAndMarkNew>b__1(NLEKGNENMCO.EPFHLDCPAOK uai)
{
string text = this.avatarItemDesc;
return string.Equals(uai.<KHKDPOODHCD>k__BackingField, text);
}
// Token: 0x04009E3D RID: 40509
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009E3D")]
public string avatarItemDesc;
// Token: 0x04009E3E RID: 40510
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009E3E")]
public OutfitManager <>4__this;
// Token: 0x04009E3F RID: 40511
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4009E3F")]
public Predicate<NLEKGNENMCO.EPFHLDCPAOK> <>9__1;
}
// Token: 0x020024B4 RID: 9396
[Token(Token = "0x20024B4")]
[CompilerGenerated]
private sealed class HNBPNFLIOCF
{
// Token: 0x0600F095 RID: 61589 RVA: 0x00370054 File Offset: 0x0036E254
[Token(Token = "0x600F095")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public HNBPNFLIOCF()
{
}
// Token: 0x0600F096 RID: 61590 RVA: 0x00370068 File Offset: 0x0036E268
[Token(Token = "0x600F096")]
[Address(RVA = "0x1D0DA40", Offset = "0x1D0CA40", VA = "0x181D0DA40")]
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: 0x04009E40 RID: 40512
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009E40")]
public OutfitManager.AvatarItemMetadata metadata;
// Token: 0x04009E41 RID: 40513
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009E41")]
public OutfitManager.NKEOOJACMNG CS$<>8__locals1;
}
// Token: 0x020024B5 RID: 9397
[Token(Token = "0x20024B5")]
[CompilerGenerated]
private sealed class LHMOIEBGMEH
{
// Token: 0x0600F097 RID: 61591 RVA: 0x0037012C File Offset: 0x0036E32C
[Token(Token = "0x600F097")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public LHMOIEBGMEH()
{
}
// Token: 0x0600F098 RID: 61592 RVA: 0x00370140 File Offset: 0x0036E340
[Token(Token = "0x600F098")]
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")]
internal OutfitRenderSetup <SpawnOutfitImposter>b__0()
{
return this.imposterRenderSetup;
}
// Token: 0x04009E42 RID: 40514
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009E42")]
public OutfitRenderSetup imposterRenderSetup;
}
}
}
@@ -0,0 +1,158 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Avatars.Outfit
{
// Token: 0x020024B6 RID: 9398
[Token(Token = "0x20024B6")]
public class OutfitPrefab : MonoBehaviour
{
// Token: 0x1700270F RID: 9999
// (get) Token: 0x0600F099 RID: 61593 RVA: 0x00370154 File Offset: 0x0036E354
[Token(Token = "0x1700270F")]
public LODGroup IDENDKEAMCN
{
[Token(Token = "0x600F099")]
[Address(RVA = "0x1D157B0", Offset = "0x1D147B0", VA = "0x181D157B0")]
get
{
LODGroup fggggkaoleo = this.FGGGGKAOLEO;
int num = 0;
if (fggggkaoleo == num)
{
LODGroup component = base.GetComponent<LODGroup>();
this.FGGGGKAOLEO = component;
}
return this.FGGGGKAOLEO;
}
}
// Token: 0x17002710 RID: 10000
// (get) Token: 0x0600F09A RID: 61594 RVA: 0x00370188 File Offset: 0x0036E388
[Token(Token = "0x17002710")]
public bool KILAGPMOIME
{
[Token(Token = "0x600F09A")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690")]
get
{
}
}
// Token: 0x17002711 RID: 10001
// (get) Token: 0x0600F09B RID: 61595 RVA: 0x00370198 File Offset: 0x0036E398
// (set) Token: 0x0600F09C RID: 61596 RVA: 0x003701AC File Offset: 0x0036E3AC
[Token(Token = "0x17002711")]
public Transform HMKFFOKEECE
{
[Token(Token = "0x600F09B")]
[Address(RVA = "0x4157E0", Offset = "0x4147E0", VA = "0x1804157E0")]
get
{
return this.hairFitMeshHemispherePivot;
}
[Token(Token = "0x600F09C")]
[Address(RVA = "0x1D15830", Offset = "0x1D14830", VA = "0x181D15830")]
set
{
FitMeshHemisphere fitMeshHemisphereObject = this.FitMeshHemisphereObject;
this.hairFitMeshHemispherePivot = value;
fitMeshHemisphereObject.HemisphereTransform = value;
}
}
// Token: 0x17002712 RID: 10002
// (get) Token: 0x0600F09D RID: 61597 RVA: 0x003701D4 File Offset: 0x0036E3D4
[Token(Token = "0x17002712")]
public bool LDOCIBNFNHA
{
[Token(Token = "0x600F09D")]
[Address(RVA = "0x1D15740", Offset = "0x1D14740", VA = "0x181D15740")]
get
{
if (!this.AllowFitMeshOverride)
{
}
Transform fitMeshPivot = this.FitMeshPivot;
int num = 0;
return fitMeshPivot != num;
}
}
// Token: 0x0600F09E RID: 61598 RVA: 0x003701FC File Offset: 0x0036E3FC
[Token(Token = "0x600F09E")]
[Address(RVA = "0x1D15670", Offset = "0x1D14670", VA = "0x181D15670")]
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: 0x04009E43 RID: 40515
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009E43")]
public SkinnedMeshRenderer SourceMeshRenderer;
// Token: 0x04009E44 RID: 40516
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4009E44")]
[OAGJHJAIMMP(FHBJCBPFODN.SelfAndChildren, false, false, false)]
private LODGroup FGGGGKAOLEO;
// Token: 0x04009E45 RID: 40517
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4009E45")]
[SerializeField]
public FitMeshHemisphere FitMeshHemisphereObject;
// Token: 0x04009E46 RID: 40518
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4009E46")]
[SerializeField]
private Transform hairFitMeshHemispherePivot;
// Token: 0x04009E47 RID: 40519
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4009E47")]
[SerializeField]
public Vector2 DefaultUVOverride;
// Token: 0x04009E48 RID: 40520
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4009E48")]
[SerializeField]
public bool AllowFitMeshOverride;
// Token: 0x04009E49 RID: 40521
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4009E49")]
[SerializeField]
public PlayerAvatarDisplay.AnchorParamsRestrictions anchorParamRestrictions;
// Token: 0x04009E4A RID: 40522
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4009E4A")]
[SerializeField]
public Transform FitMeshPivot;
// Token: 0x04009E4B RID: 40523
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4009E4B")]
[SerializeField]
public bool UseHatUVOverride;
// Token: 0x04009E4C RID: 40524
[FieldOffset(Offset = "0x5C")]
[Token(Token = "0x4009E4C")]
[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: 0x020024B7 RID: 9399
[Token(Token = "0x20024B7")]
public class OutfitRenderSetup : MonoBehaviour
{
// Token: 0x17002713 RID: 10003
// (get) Token: 0x0600F09F RID: 61599 RVA: 0x00370244 File Offset: 0x0036E444
[Token(Token = "0x17002713")]
public Renderer GNCEHPBKKFP
{
[Token(Token = "0x600F09F")]
[Address(RVA = "0x4157D0", Offset = "0x4147D0", VA = "0x1804157D0")]
get
{
return this._itemRenderer;
}
}
// Token: 0x17002714 RID: 10004
// (get) Token: 0x0600F0A0 RID: 61600 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x17002714")]
public AvatarItem ACOEGFLBMEH
{
[Token(Token = "0x600F0A0")]
[Address(RVA = "0x814AE0", Offset = "0x813AE0", VA = "0x180814AE0")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x0600F0A1 RID: 61601 RVA: 0x00370258 File Offset: 0x0036E458
[Token(Token = "0x600F0A1")]
[Address(RVA = "0x1D16540", Offset = "0x1D15540", VA = "0x181D16540")]
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: 0x0600F0A2 RID: 61602 RVA: 0x003702B0 File Offset: 0x0036E4B0
[Token(Token = "0x600F0A2")]
[Address(RVA = "0x1D16680", Offset = "0x1D15680", VA = "0x181D16680")]
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: 0x0600F0A3 RID: 61603 RVA: 0x003702F4 File Offset: 0x0036E4F4
[Token(Token = "0x600F0A3")]
[Address(RVA = "0x1D158A0", Offset = "0x1D148A0", VA = "0x181D158A0")]
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: 0x0600F0A4 RID: 61604 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600F0A4")]
[Address(RVA = "0x1D15FA0", Offset = "0x1D14FA0", VA = "0x181D15FA0")]
private void JGADOPDPBOB()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600F0A5 RID: 61605 RVA: 0x00370438 File Offset: 0x0036E638
[Token(Token = "0x600F0A5")]
[Address(RVA = "0x1D16920", Offset = "0x1D15920", VA = "0x181D16920")]
private void OnDestroy()
{
this.NPCPLFAONFO();
}
// Token: 0x0600F0A6 RID: 61606 RVA: 0x0037044C File Offset: 0x0036E64C
[Token(Token = "0x600F0A6")]
[Address(RVA = "0x1D16740", Offset = "0x1D15740", VA = "0x181D16740")]
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: 0x0600F0A7 RID: 61607 RVA: 0x00370504 File Offset: 0x0036E704
[Token(Token = "0x600F0A7")]
[Address(RVA = "0x428AD0", Offset = "0x427AD0", VA = "0x180428AD0")]
public OutfitRenderSetup()
{
}
// Token: 0x0600F0A9 RID: 61609 RVA: 0x00370564 File Offset: 0x0036E764
[Token(Token = "0x600F0A9")]
[Address(RVA = "0x1D15850", Offset = "0x1D14850", VA = "0x181D15850")]
[CompilerGenerated]
private void EIDNHNHMDGI(KJDIAJKHGNG DINHOLEGEMB)
{
AvatarColorSwatch ngpjgkiopbi = DINHOLEGEMB.NGPJGKIOPBI;
AvatarItem abcocfgcfcl = this.ABCOCFGCFCL;
int num = 0;
this.NAGNBENONGJ(num != 0);
}
// Token: 0x04009E4D RID: 40525
[Token(Token = "0x4009E4D")]
public static readonly int HAIR_PRIMARY_COLOR_ID = Shader.PropertyToID("_Red_Col");
// Token: 0x04009E4E RID: 40526
[Token(Token = "0x4009E4E")]
public static readonly int HAIR_SECONDARY_COLOR_ID = Shader.PropertyToID("_Green_Col");
// Token: 0x04009E4F RID: 40527
[Token(Token = "0x4009E4F")]
public static readonly int HAIR_BASE_COLOR_ID = Shader.PropertyToID("_Base_Col");
// Token: 0x04009E50 RID: 40528
[Token(Token = "0x4009E50")]
public static readonly int HAIR_TEXTURE_ID = Shader.PropertyToID("_BaseMap");
// Token: 0x04009E51 RID: 40529
[Token(Token = "0x4009E51")]
public static readonly int HAIR_MATERIAL_INDEX;
// Token: 0x04009E52 RID: 40530
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009E52")]
[SerializeField]
private GameObject loadingObject;
// Token: 0x04009E53 RID: 40531
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4009E53")]
[SerializeField]
private BoxCollider _itemCollider;
// Token: 0x04009E54 RID: 40532
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4009E54")]
[SerializeField]
private Renderer _itemRenderer;
// Token: 0x04009E55 RID: 40533
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4009E55")]
private AvatarItem ABCOCFGCFCL;
// Token: 0x04009E56 RID: 40534
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4009E56")]
private IKAEDJBFIMM<KJDIAJKHGNG> JCPCLCFKPIB;
// Token: 0x04009E57 RID: 40535
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4009E57")]
private Material[] AEDMAHJJPKA;
// Token: 0x020024B8 RID: 9400
[Token(Token = "0x20024B8")]
[CompilerGenerated]
private sealed class AOBNBGBEILA
{
// Token: 0x0600F0AA RID: 61610 RVA: 0x00370588 File Offset: 0x0036E788
[Token(Token = "0x600F0AA")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public AOBNBGBEILA()
{
}
// Token: 0x0600F0AB RID: 61611 RVA: 0x0037059C File Offset: 0x0036E79C
[Token(Token = "0x600F0AB")]
[Address(RVA = "0x1D07D50", Offset = "0x1D06D50", VA = "0x181D07D50")]
internal IEnumerator<KENFJGFMIPM> <Cleanup>g__DisposeEOF|0()
{
/*
An exception occurred when decompiling this method (0600F0AB)
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: 0x04009E58 RID: 40536
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009E58")]
public IKAEDJBFIMM<KJDIAJKHGNG> disposeHandle;
// Token: 0x020024B9 RID: 9401
[Token(Token = "0x20024B9")]
private sealed class <<Cleanup>g__DisposeEOF|0>d : IEnumerator<KENFJGFMIPM>, IEnumerator, IDisposable
{
// Token: 0x0600F0AC RID: 61612 RVA: 0x000399F2 File Offset: 0x00037BF2
[Token(Token = "0x600F0AC")]
[Address(RVA = "0x44F040", Offset = "0x44E040", VA = "0x18044F040")]
[DebuggerHidden]
public <<Cleanup>g__DisposeEOF|0>d(int <>1__state)
{
}
// Token: 0x0600F0AD RID: 61613 RVA: 0x000399F2 File Offset: 0x00037BF2
[Token(Token = "0x600F0AD")]
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "5")]
[DebuggerHidden]
void IDisposable.Dispose()
{
}
// Token: 0x0600F0AE RID: 61614 RVA: 0x003705C0 File Offset: 0x0036E7C0
[Token(Token = "0x600F0AE")]
[Address(RVA = "0x1D2AC70", Offset = "0x1D29C70", VA = "0x181D2AC70", Slot = "6")]
private bool MoveNext()
{
return default(bool);
}
// Token: 0x17002715 RID: 10005
// (get) Token: 0x0600F0AF RID: 61615 RVA: 0x0005CEF2 File Offset: 0x0005B0F2
[Token(Token = "0x17002715")]
private KENFJGFMIPM System.Collections.Generic.IEnumerator<RecRoom.Core.ISchedule>.Current
{
[Token(Token = "0x600F0AF")]
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0", Slot = "4")]
[DebuggerHidden]
get
{
return null;
}
}
// Token: 0x0600F0B0 RID: 61616 RVA: 0x000399F2 File Offset: 0x00037BF2
[Token(Token = "0x600F0B0")]
[Address(RVA = "0x1D2AD30", Offset = "0x1D29D30", VA = "0x181D2AD30", Slot = "8")]
[DebuggerHidden]
void IEnumerator.Reset()
{
}
// Token: 0x17002716 RID: 10006
// (get) Token: 0x0600F0B1 RID: 61617 RVA: 0x0005CEF2 File Offset: 0x0005B0F2
[Token(Token = "0x17002716")]
object IEnumerator.Current
{
[Token(Token = "0x600F0B1")]
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0", Slot = "7")]
[DebuggerHidden]
get
{
return null;
}
}
// Token: 0x04009E59 RID: 40537
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009E59")]
private int <>1__state;
// Token: 0x04009E5A RID: 40538
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009E5A")]
private KENFJGFMIPM <>2__current;
// Token: 0x04009E5B RID: 40539
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4009E5B")]
public OutfitRenderSetup.AOBNBGBEILA <>4__this;
}
}
}
}
@@ -0,0 +1,819 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
using Pathfinding.RVO;
using Photon.Pun;
using RecRoom.Avatars.Data.Runtime;
using RecRoom.Avatars.Data.Shared;
using UnityEngine;
namespace RecRoom.Avatars.Outfit
{
// Token: 0x020024BB RID: 9403
[Token(Token = "0x20024BB")]
public class OutfitTool : MonoBehaviourPun
{
// Token: 0x17002717 RID: 10007
// (get) Token: 0x0600F0B7 RID: 61623 RVA: 0x00370810 File Offset: 0x0036EA10
[Token(Token = "0x17002717")]
private Player PLEAGBOMPHC
{
[Token(Token = "0x600F0B7")]
[Address(RVA = "0x1D17450", Offset = "0x1D16450", VA = "0x181D17450")]
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: 0x17002718 RID: 10008
// (get) Token: 0x0600F0B8 RID: 61624 RVA: 0x00370850 File Offset: 0x0036EA50
[Token(Token = "0x17002718")]
private bool BOOLNLGPKOE
{
[Token(Token = "0x600F0B8")]
[Address(RVA = "0x1D175D0", Offset = "0x1D165D0", VA = "0x181D175D0")]
get
{
Player player = this.PLEAGBOMPHC;
int num = 0;
bool flag = player != num;
if (!flag)
{
return flag;
}
Vector2 position = ((IAgent)this.PLEAGBOMPHC).Position;
throw new NullReferenceException();
}
}
// Token: 0x17002719 RID: 10009
// (get) Token: 0x0600F0B9 RID: 61625 RVA: 0x00370888 File Offset: 0x0036EA88
// (set) Token: 0x0600F0BA RID: 61626 RVA: 0x0037089C File Offset: 0x0036EA9C
[Token(Token = "0x17002719")]
private bool NEFBHAOCDEH
{
[Token(Token = "0x600F0B9")]
[Address(RVA = "0x88D380", Offset = "0x88C380", VA = "0x18088D380")]
get;
[Token(Token = "0x600F0BA")]
[Address(RVA = "0xABCF10", Offset = "0xABBF10", VA = "0x180ABCF10")]
set;
}
// Token: 0x1700271A RID: 10010
// (get) Token: 0x0600F0BB RID: 61627 RVA: 0x0000220F File Offset: 0x0000040F
// (set) Token: 0x0600F0BC RID: 61628 RVA: 0x003708B0 File Offset: 0x0036EAB0
[Token(Token = "0x1700271A")]
private AvatarItem NJFKKOFHBKN
{
[Token(Token = "0x600F0BB")]
[Address(RVA = "0x1298790", Offset = "0x1297790", VA = "0x181298790")]
[CompilerGenerated]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
[Token(Token = "0x600F0BC")]
[Address(RVA = "0x12983E0", Offset = "0x12973E0", VA = "0x1812983E0")]
[CompilerGenerated]
set
{
}
}
// Token: 0x1700271B RID: 10011
// (get) Token: 0x0600F0BD RID: 61629 RVA: 0x003708C0 File Offset: 0x0036EAC0
[Token(Token = "0x1700271B")]
private AvatarItemData IHPLAJLADMP
{
[Token(Token = "0x600F0BD")]
[Address(RVA = "0x4177D0", Offset = "0x4167D0", VA = "0x1804177D0")]
get
{
/*
An exception occurred when decompiling this method (0600F0BD)
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: 0x1700271C RID: 10012
// (get) Token: 0x0600F0BE RID: 61630 RVA: 0x003708D4 File Offset: 0x0036EAD4
[Token(Token = "0x1700271C")]
public Tool PBBJCLJPFMI
{
[Token(Token = "0x600F0BE")]
[Address(RVA = "0x4975A0", Offset = "0x4965A0", VA = "0x1804975A0")]
get
{
return this.tool;
}
}
// Token: 0x1700271D RID: 10013
// (get) Token: 0x0600F0BF RID: 61631 RVA: 0x003708E8 File Offset: 0x0036EAE8
[Token(Token = "0x1700271D")]
private Renderer GNCEHPBKKFP
{
[Token(Token = "0x600F0BF")]
[Address(RVA = "0x1D17020", Offset = "0x1D16020", VA = "0x181D17020")]
get
{
return this.renderSetup._itemRenderer;
}
}
// Token: 0x1700271E RID: 10014
// (get) Token: 0x0600F0C0 RID: 61632 RVA: 0x00370908 File Offset: 0x0036EB08
[Token(Token = "0x1700271E")]
private ToolCollider GOGEFPCNPJC
{
[Token(Token = "0x600F0C0")]
[Address(RVA = "0x1D177F0", Offset = "0x1D167F0", VA = "0x181D177F0")]
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: 0x1700271F RID: 10015
// (get) Token: 0x0600F0C1 RID: 61633 RVA: 0x00370954 File Offset: 0x0036EB54
[Token(Token = "0x1700271F")]
public Player.GAHEJKDCLLE CLOHIBOOAIK
{
[Token(Token = "0x600F0C1")]
[Address(RVA = "0x1D18770", Offset = "0x1D17770", VA = "0x181D18770")]
get
{
AvatarItem avatarItem = this.<ILOHMGPEJAL>k__BackingField;
Player.GAHEJKDCLLE gahejkdclle;
return gahejkdclle;
}
}
// Token: 0x17002720 RID: 10016
// (get) Token: 0x0600F0C2 RID: 61634 RVA: 0x00370970 File Offset: 0x0036EB70
[Token(Token = "0x17002720")]
private bool BBOMMGLFOHG
{
[Token(Token = "0x600F0C2")]
[Address(RVA = "0x1A41570", Offset = "0x1A40570", VA = "0x181A41570")]
get
{
return this.DONHPEAPBHK.CFLJGNJLBFG;
}
}
// Token: 0x0600F0C3 RID: 61635 RVA: 0x00370990 File Offset: 0x0036EB90
[Token(Token = "0x600F0C3")]
[Address(RVA = "0x1D169F0", Offset = "0x1D159F0", VA = "0x181D169F0")]
public void AddEquipOnCollisionRestriction(object PIHIPPPPEBI)
{
this.DONHPEAPBHK.BPAJKKAGPKB(PIHIPPPPEBI);
}
// Token: 0x0600F0C4 RID: 61636 RVA: 0x003709B0 File Offset: 0x0036EBB0
[Token(Token = "0x600F0C4")]
[Address(RVA = "0x1D169F0", Offset = "0x1D159F0", VA = "0x181D169F0")]
public void RemoveEquipOnCollisionRestriction(object PIHIPPPPEBI)
{
this.DONHPEAPBHK.BPAJKKAGPKB(PIHIPPPPEBI);
}
// Token: 0x17002721 RID: 10017
// (get) Token: 0x0600F0C5 RID: 61637 RVA: 0x003709D0 File Offset: 0x0036EBD0
// (set) Token: 0x0600F0C6 RID: 61638 RVA: 0x003709E4 File Offset: 0x0036EBE4
[Token(Token = "0x17002721")]
private OutfitTool.OJGDBFHHOLH DAIOGLFJPGM
{
[Token(Token = "0x600F0C5")]
[Address(RVA = "0x56DD20", Offset = "0x56CD20", VA = "0x18056DD20")]
get
{
return this.JIKGGMCEOBJ;
}
[Token(Token = "0x600F0C6")]
[Address(RVA = "0x1D17040", Offset = "0x1D16040", VA = "0x181D17040")]
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: 0x0600F0C7 RID: 61639 RVA: 0x00370A78 File Offset: 0x0036EC78
[Token(Token = "0x600F0C7")]
[Address(RVA = "0x1D16DD0", Offset = "0x1D15DD0", VA = "0x181D16DD0", 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: 0x0600F0C8 RID: 61640 RVA: 0x00370AB8 File Offset: 0x0036ECB8
[Token(Token = "0x600F0C8")]
[Address(RVA = "0x1D181A0", Offset = "0x1D171A0", VA = "0x181D181A0")]
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: 0x0600F0C9 RID: 61641 RVA: 0x00370C98 File Offset: 0x0036EE98
[Token(Token = "0x600F0C9")]
[Address(RVA = "0x1D17CA0", Offset = "0x1D16CA0", VA = "0x181D17CA0", 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: 0x0600F0CA RID: 61642 RVA: 0x00370D88 File Offset: 0x0036EF88
[Token(Token = "0x600F0CA")]
[Address(RVA = "0x1D17EF0", Offset = "0x1D16EF0", VA = "0x181D17EF0")]
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: 0x0600F0CB RID: 61643 RVA: 0x00370E14 File Offset: 0x0036F014
[Token(Token = "0x600F0CB")]
[Address(RVA = "0x1D17520", Offset = "0x1D16520", VA = "0x181D17520")]
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: 0x0600F0CC RID: 61644 RVA: 0x00370E50 File Offset: 0x0036F050
[Token(Token = "0x600F0CC")]
[Address(RVA = "0x1D178C0", Offset = "0x1D168C0", VA = "0x181D178C0")]
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: 0x0600F0CD RID: 61645 RVA: 0x00370E88 File Offset: 0x0036F088
[Token(Token = "0x600F0CD")]
[Address(RVA = "0x1D17680", Offset = "0x1D16680", VA = "0x181D17680")]
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: 0x0600F0CE RID: 61646 RVA: 0x00370ED4 File Offset: 0x0036F0D4
[Token(Token = "0x600F0CE")]
[Address(RVA = "0x1D18060", Offset = "0x1D17060", VA = "0x181D18060")]
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: 0x0600F0CF RID: 61647 RVA: 0x00370F3C File Offset: 0x0036F13C
[Token(Token = "0x600F0CF")]
[Address(RVA = "0x1D17200", Offset = "0x1D16200", VA = "0x181D17200")]
private void FDDGKCHAGKD()
{
int num = 0;
this.<KJCGHECBBMN>k__BackingField = num != 0;
this.<ILOHMGPEJAL>k__BackingField = num;
}
// Token: 0x0600F0D0 RID: 61648 RVA: 0x00370F5C File Offset: 0x0036F15C
[Token(Token = "0x600F0D0")]
[Address(RVA = "0x1D179A0", Offset = "0x1D169A0", VA = "0x181D179A0")]
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: 0x0600F0D1 RID: 61649 RVA: 0x00370FDC File Offset: 0x0036F1DC
[Token(Token = "0x600F0D1")]
[Address(RVA = "0x1D16F90", Offset = "0x1D15F90", VA = "0x181D16F90")]
private void COOOPLLHHGB(float BJJEDIGOMGC)
{
this.DONHPEAPBHK.BPAJKKAGPKB(this);
Action action = new Action(this.FLPPOBLDIJP);
KFBABPAPIMB kfbabpapimb = this.NLBLFPBOCLD(BJJEDIGOMGC, action);
}
// Token: 0x0600F0D2 RID: 61650 RVA: 0x00371014 File Offset: 0x0036F214
[Token(Token = "0x600F0D2")]
[Address(RVA = "0x1D16A10", Offset = "0x1D15A10", VA = "0x181D16A10")]
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: 0x0600F0D3 RID: 61651 RVA: 0x003710FC File Offset: 0x0036F2FC
[Token(Token = "0x600F0D3")]
[Address(RVA = "0x1D17350", Offset = "0x1D16350", VA = "0x181D17350")]
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: 0x0600F0D4 RID: 61652 RVA: 0x00371170 File Offset: 0x0036F370
[Token(Token = "0x600F0D4")]
[Address(RVA = "0x1D16EF0", Offset = "0x1D15EF0", VA = "0x181D16EF0")]
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: 0x0600F0D5 RID: 61653 RVA: 0x003711B8 File Offset: 0x0036F3B8
[Token(Token = "0x600F0D5")]
[Address(RVA = "0x1D17C10", Offset = "0x1D16C10", VA = "0x181D17C10")]
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: 0x0600F0D6 RID: 61654 RVA: 0x00371210 File Offset: 0x0036F410
[Token(Token = "0x600F0D6")]
[Address(RVA = "0x1D17970", Offset = "0x1D16970", VA = "0x181D17970")]
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: 0x0600F0D7 RID: 61655 RVA: 0x00371238 File Offset: 0x0036F438
[Token(Token = "0x600F0D7")]
[Address(RVA = "0x1D174F0", Offset = "0x1D164F0", VA = "0x181D174F0")]
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: 0x0600F0D8 RID: 61656 RVA: 0x00371268 File Offset: 0x0036F468
[Token(Token = "0x600F0D8")]
[Address(RVA = "0x1D17250", Offset = "0x1D16250", VA = "0x181D17250")]
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: 0x0600F0D9 RID: 61657 RVA: 0x00371294 File Offset: 0x0036F494
[Token(Token = "0x600F0D9")]
[Address(RVA = "0x1D186D0", Offset = "0x1D176D0", VA = "0x181D186D0")]
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: 0x0600F0DB RID: 61659 RVA: 0x003712F0 File Offset: 0x0036F4F0
[Token(Token = "0x600F0DB")]
[Address(RVA = "0x1D17220", Offset = "0x1D16220", VA = "0x181D17220")]
[CompilerGenerated]
private void FLPPOBLDIJP()
{
this.DONHPEAPBHK.BPAJKKAGPKB(this);
}
// Token: 0x04009E61 RID: 40545
[Token(Token = "0x4009E61")]
private static readonly int POKIHAFIPHE = Shader.PropertyToID("_Red_Col");
// Token: 0x04009E62 RID: 40546
[Token(Token = "0x4009E62")]
public const string AVATAR_ITEM_INSTANTIATION_PARAM_KEY = "AvatarItem";
// Token: 0x04009E63 RID: 40547
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4009E63")]
[SerializeField]
[NKNLDEIPALE(FHBJCBPFODN.Self, false, false, false)]
private OutfitRenderSetup renderSetup;
// Token: 0x04009E64 RID: 40548
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4009E64")]
[SerializeField]
[NKNLDEIPALE(FHBJCBPFODN.Self, false, false, false)]
private Tool tool;
// Token: 0x04009E65 RID: 40549
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4009E65")]
private readonly MFBGLIHGCGO<OutfitTool.OJGDBFHHOLH> IKDGNAJPPKK;
// Token: 0x04009E66 RID: 40550
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4009E66")]
private OutfitTool.OJGDBFHHOLH JIKGGMCEOBJ;
// Token: 0x04009E67 RID: 40551
[FieldOffset(Offset = "0x5C")]
[Token(Token = "0x4009E67")]
private Player.GAHEJKDCLLE EKJIEKFMFMH;
// Token: 0x04009E6A RID: 40554
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4009E6A")]
private readonly AOLMGGAPKEH DONHPEAPBHK;
// Token: 0x020024BC RID: 9404
[Token(Token = "0x20024BC")]
private enum OJGDBFHHOLH
{
// Token: 0x04009E6C RID: 40556
[Token(Token = "0x4009E6C")]
None = -1,
// Token: 0x04009E6D RID: 40557
[Token(Token = "0x4009E6D")]
Wearing,
// Token: 0x04009E6E RID: 40558
[Token(Token = "0x4009E6E")]
NotWearing,
// Token: 0x04009E6F RID: 40559
[Token(Token = "0x4009E6F")]
Attaching
}
// Token: 0x020024BD RID: 9405
[Token(Token = "0x20024BD")]
[CompilerGenerated]
private sealed class NKEONJAFNJN
{
// Token: 0x0600F0DC RID: 61660 RVA: 0x00371310 File Offset: 0x0036F510
[Token(Token = "0x600F0DC")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public NKEONJAFNJN()
{
}
// Token: 0x0600F0DD RID: 61661 RVA: 0x00371324 File Offset: 0x0036F524
[Token(Token = "0x600F0DD")]
[Address(RVA = "0x1D0F090", Offset = "0x1D0E090", VA = "0x181D0F090")]
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: 0x04009E70 RID: 40560
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009E70")]
public OutfitTool <>4__this;
// Token: 0x04009E71 RID: 40561
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009E71")]
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: 0x020024BA RID: 9402
[Token(Token = "0x20024BA")]
public class PermanentHairDyeTool : MonoBehaviourPun
{
// Token: 0x0600F0B2 RID: 61618 RVA: 0x003705D8 File Offset: 0x0036E7D8
[Token(Token = "0x600F0B2")]
[Address(RVA = "0x1D187A0", Offset = "0x1D177A0", VA = "0x181D187A0", 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: 0x0600F0B3 RID: 61619 RVA: 0x003706EC File Offset: 0x0036E8EC
[Token(Token = "0x600F0B3")]
[Address(RVA = "0x1D18D10", Offset = "0x1D17D10", VA = "0x181D18D10", 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: 0x0600F0B4 RID: 61620 RVA: 0x00370750 File Offset: 0x0036E950
[Token(Token = "0x600F0B4")]
[Address(RVA = "0x1D18C90", Offset = "0x1D17C90", VA = "0x181D18C90")]
private void FICCBKGGJOE(Tool NBHJPDBHDHB, Vector3 BNMOCBJEEPN, Quaternion LPHCCEOHNIN, Vector3 GMMJHABHDHE, bool ACPOOMGHPKJ)
{
KKPBCOOONNK.HMLHHNMGNAA(base.gameObject);
}
// Token: 0x0600F0B5 RID: 61621 RVA: 0x0037076C File Offset: 0x0036E96C
[Token(Token = "0x600F0B5")]
[Address(RVA = "0x1D18B10", Offset = "0x1D17B10", VA = "0x181D18B10")]
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: 0x0600F0B6 RID: 61622 RVA: 0x003707FC File Offset: 0x0036E9FC
[Token(Token = "0x600F0B6")]
[Address(RVA = "0x8E9790", Offset = "0x8E8790", VA = "0x1808E9790")]
public PermanentHairDyeTool()
{
}
// Token: 0x04009E5C RID: 40540
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4009E5C")]
[SerializeField]
[NKNLDEIPALE(FHBJCBPFODN.Self, false, false, false)]
protected Potion potion;
// Token: 0x04009E5D RID: 40541
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4009E5D")]
[SerializeField]
[NKNLDEIPALE(FHBJCBPFODN.Self, false, false, false)]
protected HairDyeRenderSetup hairDyeRenderSetup;
// Token: 0x04009E5E RID: 40542
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4009E5E")]
[SerializeField]
[NKNLDEIPALE(FHBJCBPFODN.Self, false, false, false)]
protected Tool tool;
// Token: 0x04009E5F RID: 40543
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4009E5F")]
private bool OEJHFGNAGFB;
// Token: 0x04009E60 RID: 40544
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4009E60")]
private ColorVault.ColorToGuid MEBLCMDDKCK;
}
}