using System;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using Il2CppSystem.Runtime.InteropServices;
using UnityEngine;

namespace Obi
{
	// Token: 0x020004B2 RID: 1202
	public class ObiTerrainShapeTracker : ObiShapeTracker
	{
		// Token: 0x06008C66 RID: 35942 RVA: 0x0024061C File Offset: 0x0023E81C
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 607711, RefRangeEnd = 607712, XrefRangeStart = 607706, XrefRangeEnd = 607711, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ObiTerrainShapeTracker(TerrainCollider collider)
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiTerrainShapeTracker>.NativeClassPtr))
		{
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(collider);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiTerrainShapeTracker.NativeMethodInfoPtr__ctor_Public_Void_TerrainCollider_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008C67 RID: 35943 RVA: 0x00240680 File Offset: 0x0023E880
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 607737, RefRangeEnd = 607738, XrefRangeStart = 607712, XrefRangeEnd = 607737, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void UpdateHeightData()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiTerrainShapeTracker.NativeMethodInfoPtr_UpdateHeightData_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008C68 RID: 35944 RVA: 0x002406C4 File Offset: 0x0023E8C4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 607738, XrefRangeEnd = 607760, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void UpdateIfNeeded()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiTerrainShapeTracker.NativeMethodInfoPtr_UpdateIfNeeded_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008C69 RID: 35945 RVA: 0x00240714 File Offset: 0x0023E914
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 607760, XrefRangeEnd = 607763, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void Destroy()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiTerrainShapeTracker.NativeMethodInfoPtr_Destroy_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008C6A RID: 35946 RVA: 0x00240764 File Offset: 0x0023E964
		// Note: this type is marked as 'beforefieldinit'.
		static ObiTerrainShapeTracker()
		{
			Il2CppClassPointerStore<ObiTerrainShapeTracker>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "Obi", "ObiTerrainShapeTracker");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ObiTerrainShapeTracker>.NativeClassPtr);
			ObiTerrainShapeTracker.NativeFieldInfoPtr_size = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTerrainShapeTracker>.NativeClassPtr, "size");
			ObiTerrainShapeTracker.NativeFieldInfoPtr_resolutionU = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTerrainShapeTracker>.NativeClassPtr, "resolutionU");
			ObiTerrainShapeTracker.NativeFieldInfoPtr_resolutionV = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTerrainShapeTracker>.NativeClassPtr, "resolutionV");
			ObiTerrainShapeTracker.NativeFieldInfoPtr_dataHandle = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTerrainShapeTracker>.NativeClassPtr, "dataHandle");
			ObiTerrainShapeTracker.NativeFieldInfoPtr_heightmapDataHasChanged = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTerrainShapeTracker>.NativeClassPtr, "heightmapDataHasChanged");
			ObiTerrainShapeTracker.NativeMethodInfoPtr__ctor_Public_Void_TerrainCollider_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTerrainShapeTracker>.NativeClassPtr, 100674074);
			ObiTerrainShapeTracker.NativeMethodInfoPtr_UpdateHeightData_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTerrainShapeTracker>.NativeClassPtr, 100674075);
			ObiTerrainShapeTracker.NativeMethodInfoPtr_UpdateIfNeeded_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTerrainShapeTracker>.NativeClassPtr, 100674076);
			ObiTerrainShapeTracker.NativeMethodInfoPtr_Destroy_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTerrainShapeTracker>.NativeClassPtr, 100674077);
		}

		// Token: 0x06008C6B RID: 35947 RVA: 0x0023EDCC File Offset: 0x0023CFCC
		public ObiTerrainShapeTracker(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002FD3 RID: 12243
		// (get) Token: 0x06008C6C RID: 35948 RVA: 0x00240848 File Offset: 0x0023EA48
		// (set) Token: 0x06008C6D RID: 35949 RVA: 0x00240870 File Offset: 0x0023EA70
		public unsafe Vector3 size
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTerrainShapeTracker.NativeFieldInfoPtr_size);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTerrainShapeTracker.NativeFieldInfoPtr_size)) = value;
			}
		}

		// Token: 0x17002FD4 RID: 12244
		// (get) Token: 0x06008C6E RID: 35950 RVA: 0x00240894 File Offset: 0x0023EA94
		// (set) Token: 0x06008C6F RID: 35951 RVA: 0x002408BC File Offset: 0x0023EABC
		public unsafe int resolutionU
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTerrainShapeTracker.NativeFieldInfoPtr_resolutionU);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTerrainShapeTracker.NativeFieldInfoPtr_resolutionU)) = value;
			}
		}

		// Token: 0x17002FD5 RID: 12245
		// (get) Token: 0x06008C70 RID: 35952 RVA: 0x002408E0 File Offset: 0x0023EAE0
		// (set) Token: 0x06008C71 RID: 35953 RVA: 0x00240908 File Offset: 0x0023EB08
		public unsafe int resolutionV
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTerrainShapeTracker.NativeFieldInfoPtr_resolutionV);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTerrainShapeTracker.NativeFieldInfoPtr_resolutionV)) = value;
			}
		}

		// Token: 0x17002FD6 RID: 12246
		// (get) Token: 0x06008C72 RID: 35954 RVA: 0x0024092C File Offset: 0x0023EB2C
		// (set) Token: 0x06008C73 RID: 35955 RVA: 0x00240954 File Offset: 0x0023EB54
		public unsafe GCHandle dataHandle
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTerrainShapeTracker.NativeFieldInfoPtr_dataHandle);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTerrainShapeTracker.NativeFieldInfoPtr_dataHandle)) = value;
			}
		}

		// Token: 0x17002FD7 RID: 12247
		// (get) Token: 0x06008C74 RID: 35956 RVA: 0x00240978 File Offset: 0x0023EB78
		// (set) Token: 0x06008C75 RID: 35957 RVA: 0x002409A0 File Offset: 0x0023EBA0
		public unsafe bool heightmapDataHasChanged
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTerrainShapeTracker.NativeFieldInfoPtr_heightmapDataHasChanged);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTerrainShapeTracker.NativeFieldInfoPtr_heightmapDataHasChanged)) = value;
			}
		}

		// Token: 0x04005D8D RID: 23949
		private static readonly IntPtr NativeFieldInfoPtr_size;

		// Token: 0x04005D8E RID: 23950
		private static readonly IntPtr NativeFieldInfoPtr_resolutionU;

		// Token: 0x04005D8F RID: 23951
		private static readonly IntPtr NativeFieldInfoPtr_resolutionV;

		// Token: 0x04005D90 RID: 23952
		private static readonly IntPtr NativeFieldInfoPtr_dataHandle;

		// Token: 0x04005D91 RID: 23953
		private static readonly IntPtr NativeFieldInfoPtr_heightmapDataHasChanged;

		// Token: 0x04005D92 RID: 23954
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_TerrainCollider_0;

		// Token: 0x04005D93 RID: 23955
		private static readonly IntPtr NativeMethodInfoPtr_UpdateHeightData_Public_Void_0;

		// Token: 0x04005D94 RID: 23956
		private static readonly IntPtr NativeMethodInfoPtr_UpdateIfNeeded_Public_Virtual_Void_0;

		// Token: 0x04005D95 RID: 23957
		private static readonly IntPtr NativeMethodInfoPtr_Destroy_Public_Virtual_Void_0;
	}
}
