using System;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using Obi;
using UnityEngine;

// Token: 0x020003C6 RID: 966
public class SackGenerator : MonoBehaviour
{
	// Token: 0x06007A77 RID: 31351 RVA: 0x001F1A50 File Offset: 0x001EFC50
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 618264, RefRangeEnd = 618265, XrefRangeStart = 618235, XrefRangeEnd = 618264, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe Mesh GenerateSheetMesh()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SackGenerator.NativeMethodInfoPtr_GenerateSheetMesh_Private_Mesh_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		IntPtr intPtr3 = intPtr;
		return (intPtr3 != 0) ? new Mesh(intPtr3) : null;
	}

	// Token: 0x06007A78 RID: 31352 RVA: 0x001F1AA8 File Offset: 0x001EFCA8
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 618404, RefRangeEnd = 618405, XrefRangeStart = 618265, XrefRangeEnd = 618404, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void GenerateSack()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SackGenerator.NativeMethodInfoPtr_GenerateSack_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06007A79 RID: 31353 RVA: 0x001F1AEC File Offset: 0x001EFCEC
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 618405, XrefRangeEnd = 618411, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void Update()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SackGenerator.NativeMethodInfoPtr_Update_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06007A7A RID: 31354 RVA: 0x001F1B30 File Offset: 0x001EFD30
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 618411, XrefRangeEnd = 618412, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe SackGenerator()
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<SackGenerator>.NativeClassPtr))
	{
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SackGenerator.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06007A7B RID: 31355 RVA: 0x001F1B7C File Offset: 0x001EFD7C
	// Note: this type is marked as 'beforefieldinit'.
	static SackGenerator()
	{
		Il2CppClassPointerStore<SackGenerator>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "SackGenerator");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<SackGenerator>.NativeClassPtr);
		SackGenerator.NativeFieldInfoPtr_solver = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SackGenerator>.NativeClassPtr, "solver");
		SackGenerator.NativeFieldInfoPtr_topology = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SackGenerator>.NativeClassPtr, "topology");
		SackGenerator.NativeFieldInfoPtr_outsideMaterial = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SackGenerator>.NativeClassPtr, "outsideMaterial");
		SackGenerator.NativeFieldInfoPtr_insideMaterial = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SackGenerator>.NativeClassPtr, "insideMaterial");
		SackGenerator.NativeFieldInfoPtr_sackSize = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SackGenerator>.NativeClassPtr, "sackSize");
		SackGenerator.NativeFieldInfoPtr_resolution = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SackGenerator>.NativeClassPtr, "resolution");
		SackGenerator.NativeMethodInfoPtr_GenerateSheetMesh_Private_Mesh_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SackGenerator>.NativeClassPtr, 100672503);
		SackGenerator.NativeMethodInfoPtr_GenerateSack_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SackGenerator>.NativeClassPtr, 100672504);
		SackGenerator.NativeMethodInfoPtr_Update_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SackGenerator>.NativeClassPtr, 100672505);
		SackGenerator.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SackGenerator>.NativeClassPtr, 100672506);
	}

	// Token: 0x06007A7C RID: 31356 RVA: 0x0000351C File Offset: 0x0000171C
	public SackGenerator(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x170029F0 RID: 10736
	// (get) Token: 0x06007A7D RID: 31357 RVA: 0x001F1C74 File Offset: 0x001EFE74
	// (set) Token: 0x06007A7E RID: 31358 RVA: 0x001F1CA8 File Offset: 0x001EFEA8
	public unsafe ObiSolver solver
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SackGenerator.NativeFieldInfoPtr_solver);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new ObiSolver(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(SackGenerator.NativeFieldInfoPtr_solver), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x170029F1 RID: 10737
	// (get) Token: 0x06007A7F RID: 31359 RVA: 0x001F1CD0 File Offset: 0x001EFED0
	// (set) Token: 0x06007A80 RID: 31360 RVA: 0x001F1D04 File Offset: 0x001EFF04
	public unsafe ObiMeshTopology topology
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SackGenerator.NativeFieldInfoPtr_topology);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new ObiMeshTopology(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(SackGenerator.NativeFieldInfoPtr_topology), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x170029F2 RID: 10738
	// (get) Token: 0x06007A81 RID: 31361 RVA: 0x001F1D2C File Offset: 0x001EFF2C
	// (set) Token: 0x06007A82 RID: 31362 RVA: 0x001F1D60 File Offset: 0x001EFF60
	public unsafe Material outsideMaterial
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SackGenerator.NativeFieldInfoPtr_outsideMaterial);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new Material(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(SackGenerator.NativeFieldInfoPtr_outsideMaterial), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x170029F3 RID: 10739
	// (get) Token: 0x06007A83 RID: 31363 RVA: 0x001F1D88 File Offset: 0x001EFF88
	// (set) Token: 0x06007A84 RID: 31364 RVA: 0x001F1DBC File Offset: 0x001EFFBC
	public unsafe Material insideMaterial
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SackGenerator.NativeFieldInfoPtr_insideMaterial);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new Material(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(SackGenerator.NativeFieldInfoPtr_insideMaterial), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x170029F4 RID: 10740
	// (get) Token: 0x06007A85 RID: 31365 RVA: 0x001F1DE4 File Offset: 0x001EFFE4
	// (set) Token: 0x06007A86 RID: 31366 RVA: 0x001F1E0C File Offset: 0x001F000C
	public unsafe float sackSize
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SackGenerator.NativeFieldInfoPtr_sackSize);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SackGenerator.NativeFieldInfoPtr_sackSize)) = value;
		}
	}

	// Token: 0x170029F5 RID: 10741
	// (get) Token: 0x06007A87 RID: 31367 RVA: 0x001F1E30 File Offset: 0x001F0030
	// (set) Token: 0x06007A88 RID: 31368 RVA: 0x001F1E58 File Offset: 0x001F0058
	public unsafe int resolution
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SackGenerator.NativeFieldInfoPtr_resolution);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SackGenerator.NativeFieldInfoPtr_resolution)) = value;
		}
	}

	// Token: 0x04005158 RID: 20824
	private static readonly IntPtr NativeFieldInfoPtr_solver;

	// Token: 0x04005159 RID: 20825
	private static readonly IntPtr NativeFieldInfoPtr_topology;

	// Token: 0x0400515A RID: 20826
	private static readonly IntPtr NativeFieldInfoPtr_outsideMaterial;

	// Token: 0x0400515B RID: 20827
	private static readonly IntPtr NativeFieldInfoPtr_insideMaterial;

	// Token: 0x0400515C RID: 20828
	private static readonly IntPtr NativeFieldInfoPtr_sackSize;

	// Token: 0x0400515D RID: 20829
	private static readonly IntPtr NativeFieldInfoPtr_resolution;

	// Token: 0x0400515E RID: 20830
	private static readonly IntPtr NativeMethodInfoPtr_GenerateSheetMesh_Private_Mesh_0;

	// Token: 0x0400515F RID: 20831
	private static readonly IntPtr NativeMethodInfoPtr_GenerateSack_Private_Void_0;

	// Token: 0x04005160 RID: 20832
	private static readonly IntPtr NativeMethodInfoPtr_Update_Public_Void_0;

	// Token: 0x04005161 RID: 20833
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
}
