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

// Token: 0x0200036E RID: 878
public class SackGenerator : MonoBehaviour
{
	// Token: 0x06007224 RID: 29220 RVA: 0x001CED08 File Offset: 0x001CCF08
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 585963, RefRangeEnd = 585964, XrefRangeStart = 585934, XrefRangeEnd = 585963, 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: 0x06007225 RID: 29221 RVA: 0x001CED60 File Offset: 0x001CCF60
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 586103, RefRangeEnd = 586104, XrefRangeStart = 585964, XrefRangeEnd = 586103, 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: 0x06007226 RID: 29222 RVA: 0x001CEDA4 File Offset: 0x001CCFA4
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 586104, XrefRangeEnd = 586110, 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: 0x06007227 RID: 29223 RVA: 0x001CEDE8 File Offset: 0x001CCFE8
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 586110, XrefRangeEnd = 586111, 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: 0x06007228 RID: 29224 RVA: 0x001CEE34 File Offset: 0x001CD034
	// 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, 100671790);
		SackGenerator.NativeMethodInfoPtr_GenerateSack_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SackGenerator>.NativeClassPtr, 100671791);
		SackGenerator.NativeMethodInfoPtr_Update_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SackGenerator>.NativeClassPtr, 100671792);
		SackGenerator.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SackGenerator>.NativeClassPtr, 100671793);
	}

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

	// Token: 0x17002755 RID: 10069
	// (get) Token: 0x0600722A RID: 29226 RVA: 0x001CEF2C File Offset: 0x001CD12C
	// (set) Token: 0x0600722B RID: 29227 RVA: 0x001CEF60 File Offset: 0x001CD160
	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: 0x17002756 RID: 10070
	// (get) Token: 0x0600722C RID: 29228 RVA: 0x001CEF88 File Offset: 0x001CD188
	// (set) Token: 0x0600722D RID: 29229 RVA: 0x001CEFBC File Offset: 0x001CD1BC
	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: 0x17002757 RID: 10071
	// (get) Token: 0x0600722E RID: 29230 RVA: 0x001CEFE4 File Offset: 0x001CD1E4
	// (set) Token: 0x0600722F RID: 29231 RVA: 0x001CF018 File Offset: 0x001CD218
	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: 0x17002758 RID: 10072
	// (get) Token: 0x06007230 RID: 29232 RVA: 0x001CF040 File Offset: 0x001CD240
	// (set) Token: 0x06007231 RID: 29233 RVA: 0x001CF074 File Offset: 0x001CD274
	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: 0x17002759 RID: 10073
	// (get) Token: 0x06007232 RID: 29234 RVA: 0x001CF09C File Offset: 0x001CD29C
	// (set) Token: 0x06007233 RID: 29235 RVA: 0x001CF0C4 File Offset: 0x001CD2C4
	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: 0x1700275A RID: 10074
	// (get) Token: 0x06007234 RID: 29236 RVA: 0x001CF0E8 File Offset: 0x001CD2E8
	// (set) Token: 0x06007235 RID: 29237 RVA: 0x001CF110 File Offset: 0x001CD310
	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: 0x04004BAF RID: 19375
	private static readonly IntPtr NativeFieldInfoPtr_solver;

	// Token: 0x04004BB0 RID: 19376
	private static readonly IntPtr NativeFieldInfoPtr_topology;

	// Token: 0x04004BB1 RID: 19377
	private static readonly IntPtr NativeFieldInfoPtr_outsideMaterial;

	// Token: 0x04004BB2 RID: 19378
	private static readonly IntPtr NativeFieldInfoPtr_insideMaterial;

	// Token: 0x04004BB3 RID: 19379
	private static readonly IntPtr NativeFieldInfoPtr_sackSize;

	// Token: 0x04004BB4 RID: 19380
	private static readonly IntPtr NativeFieldInfoPtr_resolution;

	// Token: 0x04004BB5 RID: 19381
	private static readonly IntPtr NativeMethodInfoPtr_GenerateSheetMesh_Private_Mesh_0;

	// Token: 0x04004BB6 RID: 19382
	private static readonly IntPtr NativeMethodInfoPtr_GenerateSack_Private_Void_0;

	// Token: 0x04004BB7 RID: 19383
	private static readonly IntPtr NativeMethodInfoPtr_Update_Public_Void_0;

	// Token: 0x04004BB8 RID: 19384
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
}
