using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using Cpp2IlInjected; using UnityEngine; namespace RecRoom.Avatars.Face { // Token: 0x020023DD RID: 9181 [Token(Token = "0x20023DD")] public abstract class FaceFeatureBase : ScriptableObject { // Token: 0x17002680 RID: 9856 // (get) Token: 0x0600ECD0 RID: 60624 RVA: 0x00367E60 File Offset: 0x00366060 [Token(Token = "0x17002680")] public string Guid { [Token(Token = "0x600ECD0")] [Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")] get { return this.GuidString; } } // Token: 0x17002681 RID: 9857 // (get) Token: 0x0600ECD1 RID: 60625 RVA: 0x00367E74 File Offset: 0x00366074 [Token(Token = "0x17002681")] public IEnumerable SrcSprites { [Token(Token = "0x600ECD1")] [Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400")] get { /* An exception occurred when decompiling this method (0600ECD1) 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 1660 */; } } // Token: 0x17002682 RID: 9858 // (get) Token: 0x0600ECD2 RID: 60626 RVA: 0x00367E88 File Offset: 0x00366088 [Token(Token = "0x17002682")] public Sprite MenuButtonSprite { [Token(Token = "0x600ECD2")] [Address(RVA = "0x3F63E0", Offset = "0x3F51E0", VA = "0x1803F63E0")] get { return this.menuButtonSprite; } } // Token: 0x17002683 RID: 9859 // (get) Token: 0x0600ECD3 RID: 60627 RVA: 0x00367E9C File Offset: 0x0036609C [Token(Token = "0x17002683")] public int TextureCount { [Token(Token = "0x600ECD3")] [Address(RVA = "0x11D7610", Offset = "0x11D6410", VA = "0x1811D7610")] get { return this.Sprites.Length; } } // Token: 0x17002684 RID: 9860 // (get) Token: 0x0600ECD4 RID: 60628 [Token(Token = "0x17002684")] public abstract FaceFeatureType FaceFeatureType { [Token(Token = "0x600ECD4")] [Address(Slot = "4")] get; } // Token: 0x17002685 RID: 9861 // (get) Token: 0x0600ECD5 RID: 60629 RVA: 0x0000220F File Offset: 0x0000040F // (set) Token: 0x0600ECD6 RID: 60630 RVA: 0x00367EBC File Offset: 0x003660BC [Token(Token = "0x17002685")] public Vector2 JitteredScale { [Token(Token = "0x600ECD5")] [Address(RVA = "0x90EB70", Offset = "0x90D970", VA = "0x18090EB70")] [CompilerGenerated] get { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } [Token(Token = "0x600ECD6")] [Address(RVA = "0x11D7630", Offset = "0x11D6430", VA = "0x1811D7630")] [CompilerGenerated] private set { this.k__BackingField = value; this.k__BackingField.y = (float)0; } } // Token: 0x0600ECD7 RID: 60631 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600ECD7")] [Address(RVA = "0x11D7430", Offset = "0x11D6230", VA = "0x1811D7430")] protected static Vector2 JitteredVector2(Vector2 initial, Vector2 maxJitter) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600ECD8 RID: 60632 RVA: 0x00367EDC File Offset: 0x003660DC [Token(Token = "0x600ECD8")] [Address(RVA = "0x11D74A0", Offset = "0x11D62A0", VA = "0x1811D74A0", 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: 0x0600ECD9 RID: 60633 RVA: 0x00367F14 File Offset: 0x00366114 [Token(Token = "0x600ECD9")] [Address(RVA = "0x11D7520", Offset = "0x11D6320", VA = "0x1811D7520")] 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: 0x04009C83 RID: 40067 [Token(Token = "0x4009C83")] private const bool HIGH_QUALTIY_COMPRESS = true; // Token: 0x04009C84 RID: 40068 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4009C84")] [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: 0x04009C85 RID: 40069 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4009C85")] [SerializeField] private Sprite[] Sprites; // Token: 0x04009C86 RID: 40070 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4009C86")] [SerializeField] private Sprite menuButtonSprite; // Token: 0x04009C87 RID: 40071 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4009C87")] public Vector2 DefaultScale; // Token: 0x04009C88 RID: 40072 [FieldOffset(Offset = "0x38")] [Token(Token = "0x4009C88")] public Vector2 MaxJitterScale; } }