using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using Cpp2IlInjected; using UnityEngine; namespace RecRoom.Avatars.Face { // Token: 0x020024C1 RID: 9409 [Token(Token = "0x20024C1")] public abstract class FaceFeatureBase : ScriptableObject { // Token: 0x17002725 RID: 10021 // (get) Token: 0x0600F0E6 RID: 61670 RVA: 0x00371464 File Offset: 0x0036F664 [Token(Token = "0x17002725")] public string Guid { [Token(Token = "0x600F0E6")] [Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")] get { return this.GuidString; } } // Token: 0x17002726 RID: 10022 // (get) Token: 0x0600F0E7 RID: 61671 RVA: 0x00371478 File Offset: 0x0036F678 [Token(Token = "0x17002726")] public IEnumerable SrcSprites { [Token(Token = "0x600F0E7")] [Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0")] get { /* An exception occurred when decompiling this method (0600F0E7) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IEnumerable`1 RecRoom.Avatars.Face.FaceFeatureBase::get_SrcSprites() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:class [UnityEngine.CoreModule]UnityEngine.Sprite[](var_0_06, ldfld:class [UnityEngine.CoreModule]UnityEngine.Sprite[](FaceFeatureBase::Sprites, ldloc:FaceFeatureBase(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: 0x17002727 RID: 10023 // (get) Token: 0x0600F0E8 RID: 61672 RVA: 0x0037148C File Offset: 0x0036F68C [Token(Token = "0x17002727")] public Sprite MenuButtonSprite { [Token(Token = "0x600F0E8")] [Address(RVA = "0x4157D0", Offset = "0x4147D0", VA = "0x1804157D0")] get { return this.menuButtonSprite; } } // Token: 0x17002728 RID: 10024 // (get) Token: 0x0600F0E9 RID: 61673 RVA: 0x003714A0 File Offset: 0x0036F6A0 [Token(Token = "0x17002728")] public int TextureCount { [Token(Token = "0x600F0E9")] [Address(RVA = "0x1D0C750", Offset = "0x1D0B750", VA = "0x181D0C750")] get { return this.Sprites.Length; } } // Token: 0x17002729 RID: 10025 // (get) Token: 0x0600F0EA RID: 61674 [Token(Token = "0x17002729")] public abstract FaceFeatureType FaceFeatureType { [Token(Token = "0x600F0EA")] [Address(Slot = "4")] get; } // Token: 0x1700272A RID: 10026 // (get) Token: 0x0600F0EB RID: 61675 RVA: 0x0000220F File Offset: 0x0000040F // (set) Token: 0x0600F0EC RID: 61676 RVA: 0x003714C0 File Offset: 0x0036F6C0 [Token(Token = "0x1700272A")] public Vector2 JitteredScale { [Token(Token = "0x600F0EB")] [Address(RVA = "0x15A6A50", Offset = "0x15A5A50", VA = "0x1815A6A50")] [CompilerGenerated] get { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } [Token(Token = "0x600F0EC")] [Address(RVA = "0x1D0C770", Offset = "0x1D0B770", VA = "0x181D0C770")] [CompilerGenerated] private set { this.k__BackingField = value; this.k__BackingField.y = (float)0; } } // Token: 0x0600F0ED RID: 61677 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600F0ED")] [Address(RVA = "0x1D0C570", Offset = "0x1D0B570", VA = "0x181D0C570")] protected static Vector2 JitteredVector2(Vector2 initial, Vector2 maxJitter) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600F0EE RID: 61678 RVA: 0x003714E0 File Offset: 0x0036F6E0 [Token(Token = "0x600F0EE")] [Address(RVA = "0x1D0C5E0", Offset = "0x1D0B5E0", VA = "0x181D0C5E0", Slot = "5")] public virtual void NewJitter() { float y = this.DefaultScale.y; float num = y; float num2 = global::UnityEngine.Random.Range(num, y); this.k__BackingField = num; this.k__BackingField.y = num2; } // Token: 0x0600F0EF RID: 61679 RVA: 0x00371518 File Offset: 0x0036F718 [Token(Token = "0x600F0EF")] [Address(RVA = "0x1D0C660", Offset = "0x1D0B660", VA = "0x181D0C660")] protected FaceFeatureBase() { Guid guid = global::System.Guid.NewGuid(); string text; this.GuidString = text; Vector2 one = Vector2.one; this.DefaultScale = one; this.DefaultScale.y = (float)0; Vector2 vector = Vector2.one * 0.025f; this.MaxJitterScale = vector; this.MaxJitterScale.y = (float)0; base..ctor(); } // Token: 0x04009E75 RID: 40565 [Token(Token = "0x4009E75")] private const bool HIGH_QUALTIY_COMPRESS = true; // Token: 0x04009E76 RID: 40566 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4009E76")] [SerializeField] [Tooltip("This guid is auto generated at the time of the asset creation and should never change if you do not want to break an existing player's feature selection")] private string GuidString; // Token: 0x04009E77 RID: 40567 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4009E77")] [SerializeField] private Sprite[] Sprites; // Token: 0x04009E78 RID: 40568 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4009E78")] [SerializeField] private Sprite menuButtonSprite; // Token: 0x04009E79 RID: 40569 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4009E79")] public Vector2 DefaultScale; // Token: 0x04009E7A RID: 40570 [FieldOffset(Offset = "0x38")] [Token(Token = "0x4009E7A")] public Vector2 MaxJitterScale; } }