using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using UnityEngine;

namespace MTAssets.UltimateLODSystem.MeshSimplifier
{
	// Token: 0x02000605 RID: 1541
	[Token(Token = "0x2000605")]
	[Serializable]
	[StructLayout(3)]
	public struct BlendShapeFrame
	{
		// Token: 0x0600303A RID: 12346 RVA: 0x000664A0 File Offset: 0x000646A0
		[Token(Token = "0x600303A")]
		[Address(RVA = "0x8E1FA0", Offset = "0x8E0DA0", VA = "0x1808E1FA0")]
		public BlendShapeFrame(float frameWeight, Vector3[] deltaVertices, Vector3[] deltaNormals, Vector3[] deltaTangents)
		{
			/*
An exception occurred when decompiling this method (0600303A)

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void MTAssets.UltimateLODSystem.MeshSimplifier.BlendShapeFrame::.ctor(System.Single,UnityEngine.Vector3[],UnityEngine.Vector3[],UnityEngine.Vector3[])

 ---> System.Exception: Basic block has to end with unconditional control flow. 
{; 	Block_0:; 	stfld:float32(BlendShapeFrame::FrameWeight, ldloc:valuetype MTAssets.UltimateLODSystem.MeshSimplifier.BlendShapeFrame&(this), ldloc:float32(frameWeight)); 	stfld:valuetype [UnityEngine.CoreModule]UnityEngine.Vector3[](BlendShapeFrame::DeltaVertices, ldloc:valuetype MTAssets.UltimateLODSystem.MeshSimplifier.BlendShapeFrame&(this), ldloc:valuetype [UnityEngine.CoreModule]UnityEngine.Vector3[](deltaVertices)); 	stfld:valuetype [UnityEngine.CoreModule]UnityEngine.Vector3[](BlendShapeFrame::DeltaNormals, ldloc:valuetype MTAssets.UltimateLODSystem.MeshSimplifier.BlendShapeFrame&(this), ldloc:valuetype [UnityEngine.CoreModule]UnityEngine.Vector3[](deltaNormals)); 	stfld:valuetype [UnityEngine.CoreModule]UnityEngine.Vector3[](BlendShapeFrame::DeltaTangents, ldloc:valuetype MTAssets.UltimateLODSystem.MeshSimplifier.BlendShapeFrame&(this), ldc.i4:int32[exp:valuetype [UnityEngine.CoreModule]UnityEngine.Vector3[]](0)); }; 
   at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1810
   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 344
   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 1618
*/;
		}

		// Token: 0x04003A85 RID: 14981
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4003A85")]
		public float FrameWeight;

		// Token: 0x04003A86 RID: 14982
		[Cpp2IlInjected.FieldOffset(Offset = "0x8")]
		[Token(Token = "0x4003A86")]
		public Vector3[] DeltaVertices;

		// Token: 0x04003A87 RID: 14983
		[Cpp2IlInjected.FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4003A87")]
		public Vector3[] DeltaNormals;

		// Token: 0x04003A88 RID: 14984
		[Cpp2IlInjected.FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4003A88")]
		public Vector3[] DeltaTangents;
	}
}
