using System;
using System.Runtime.InteropServices;
using Il2CppInterop.Runtime;
using Il2CppSystem;

namespace MTAssets.UltimateLODSystem.MeshSimplifier
{
	// Token: 0x02000681 RID: 1665
	[Serializable]
	[StructLayout(2)]
	public struct SimplificationOptions
	{
		// Token: 0x0600A9B9 RID: 43449 RVA: 0x002B98F8 File Offset: 0x002B7AF8
		// Note: this type is marked as 'beforefieldinit'.
		static SimplificationOptions()
		{
			Il2CppClassPointerStore<SimplificationOptions>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "MTAssets.UltimateLODSystem.MeshSimplifier", "SimplificationOptions");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<SimplificationOptions>.NativeClassPtr);
			SimplificationOptions.NativeFieldInfoPtr_Default = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SimplificationOptions>.NativeClassPtr, "Default");
			SimplificationOptions.NativeFieldInfoPtr_PreserveBorderEdges = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SimplificationOptions>.NativeClassPtr, "PreserveBorderEdges");
			SimplificationOptions.NativeFieldInfoPtr_PreserveUVSeamEdges = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SimplificationOptions>.NativeClassPtr, "PreserveUVSeamEdges");
			SimplificationOptions.NativeFieldInfoPtr_PreserveUVFoldoverEdges = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SimplificationOptions>.NativeClassPtr, "PreserveUVFoldoverEdges");
			SimplificationOptions.NativeFieldInfoPtr_PreserveSurfaceCurvature = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SimplificationOptions>.NativeClassPtr, "PreserveSurfaceCurvature");
			SimplificationOptions.NativeFieldInfoPtr_EnableSmartLink = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SimplificationOptions>.NativeClassPtr, "EnableSmartLink");
			SimplificationOptions.NativeFieldInfoPtr_VertexLinkDistance = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SimplificationOptions>.NativeClassPtr, "VertexLinkDistance");
			SimplificationOptions.NativeFieldInfoPtr_MaxIterationCount = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SimplificationOptions>.NativeClassPtr, "MaxIterationCount");
			SimplificationOptions.NativeFieldInfoPtr_Agressiveness = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SimplificationOptions>.NativeClassPtr, "Agressiveness");
			SimplificationOptions.NativeFieldInfoPtr_ManualUVComponentCount = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SimplificationOptions>.NativeClassPtr, "ManualUVComponentCount");
			SimplificationOptions.NativeFieldInfoPtr_UVComponentCount = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SimplificationOptions>.NativeClassPtr, "UVComponentCount");
		}

		// Token: 0x0600A9BA RID: 43450 RVA: 0x002B9A04 File Offset: 0x002B7C04
		public Object BoxIl2CppObject()
		{
			return new Object(IL2CPP.il2cpp_value_box(Il2CppClassPointerStore<SimplificationOptions>.NativeClassPtr, ref this));
		}

		// Token: 0x1700394E RID: 14670
		// (get) Token: 0x0600A9BB RID: 43451 RVA: 0x002B9A18 File Offset: 0x002B7C18
		// (set) Token: 0x0600A9BC RID: 43452 RVA: 0x002B9A36 File Offset: 0x002B7C36
		public unsafe static SimplificationOptions Default
		{
			get
			{
				SimplificationOptions simplificationOptions;
				IL2CPP.il2cpp_field_static_get_value(SimplificationOptions.NativeFieldInfoPtr_Default, (void*)(&simplificationOptions));
				return simplificationOptions;
			}
			set
			{
				IL2CPP.il2cpp_field_static_set_value(SimplificationOptions.NativeFieldInfoPtr_Default, (void*)(&value));
			}
		}

		// Token: 0x040071F2 RID: 29170
		private static readonly IntPtr NativeFieldInfoPtr_Default;

		// Token: 0x040071F3 RID: 29171
		private static readonly IntPtr NativeFieldInfoPtr_PreserveBorderEdges;

		// Token: 0x040071F4 RID: 29172
		private static readonly IntPtr NativeFieldInfoPtr_PreserveUVSeamEdges;

		// Token: 0x040071F5 RID: 29173
		private static readonly IntPtr NativeFieldInfoPtr_PreserveUVFoldoverEdges;

		// Token: 0x040071F6 RID: 29174
		private static readonly IntPtr NativeFieldInfoPtr_PreserveSurfaceCurvature;

		// Token: 0x040071F7 RID: 29175
		private static readonly IntPtr NativeFieldInfoPtr_EnableSmartLink;

		// Token: 0x040071F8 RID: 29176
		private static readonly IntPtr NativeFieldInfoPtr_VertexLinkDistance;

		// Token: 0x040071F9 RID: 29177
		private static readonly IntPtr NativeFieldInfoPtr_MaxIterationCount;

		// Token: 0x040071FA RID: 29178
		private static readonly IntPtr NativeFieldInfoPtr_Agressiveness;

		// Token: 0x040071FB RID: 29179
		private static readonly IntPtr NativeFieldInfoPtr_ManualUVComponentCount;

		// Token: 0x040071FC RID: 29180
		private static readonly IntPtr NativeFieldInfoPtr_UVComponentCount;

		// Token: 0x040071FD RID: 29181
		[FieldOffset(0)]
		[MarshalAs(4)]
		public bool PreserveBorderEdges;

		// Token: 0x040071FE RID: 29182
		[FieldOffset(1)]
		[MarshalAs(4)]
		public bool PreserveUVSeamEdges;

		// Token: 0x040071FF RID: 29183
		[FieldOffset(2)]
		[MarshalAs(4)]
		public bool PreserveUVFoldoverEdges;

		// Token: 0x04007200 RID: 29184
		[FieldOffset(3)]
		[MarshalAs(4)]
		public bool PreserveSurfaceCurvature;

		// Token: 0x04007201 RID: 29185
		[FieldOffset(4)]
		[MarshalAs(4)]
		public bool EnableSmartLink;

		// Token: 0x04007202 RID: 29186
		[FieldOffset(8)]
		public double VertexLinkDistance;

		// Token: 0x04007203 RID: 29187
		[FieldOffset(16)]
		public int MaxIterationCount;

		// Token: 0x04007204 RID: 29188
		[FieldOffset(24)]
		public double Agressiveness;

		// Token: 0x04007205 RID: 29189
		[FieldOffset(32)]
		[MarshalAs(4)]
		public bool ManualUVComponentCount;

		// Token: 0x04007206 RID: 29190
		[FieldOffset(36)]
		public int UVComponentCount;
	}
}
