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

namespace Obi
{
	// Token: 0x0200050A RID: 1290
	public class ObiTerrainShapeTracker : ObiShapeTracker
	{
		// Token: 0x060094B9 RID: 38073 RVA: 0x00263358 File Offset: 0x00261558
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 640021, RefRangeEnd = 640022, XrefRangeStart = 640016, XrefRangeEnd = 640021, 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: 0x060094BA RID: 38074 RVA: 0x002633BC File Offset: 0x002615BC
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 640047, RefRangeEnd = 640048, XrefRangeStart = 640022, XrefRangeEnd = 640047, 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: 0x060094BB RID: 38075 RVA: 0x00263400 File Offset: 0x00261600
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 640048, XrefRangeEnd = 640070, 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: 0x060094BC RID: 38076 RVA: 0x00263450 File Offset: 0x00261650
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 640070, XrefRangeEnd = 640073, 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: 0x060094BD RID: 38077 RVA: 0x002634A0 File Offset: 0x002616A0
		// 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, 100674787);
			ObiTerrainShapeTracker.NativeMethodInfoPtr_UpdateHeightData_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTerrainShapeTracker>.NativeClassPtr, 100674788);
			ObiTerrainShapeTracker.NativeMethodInfoPtr_UpdateIfNeeded_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTerrainShapeTracker>.NativeClassPtr, 100674789);
			ObiTerrainShapeTracker.NativeMethodInfoPtr_Destroy_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTerrainShapeTracker>.NativeClassPtr, 100674790);
		}

		// Token: 0x060094BE RID: 38078 RVA: 0x00261B08 File Offset: 0x0025FD08
		public ObiTerrainShapeTracker(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x1700326E RID: 12910
		// (get) Token: 0x060094BF RID: 38079 RVA: 0x00263584 File Offset: 0x00261784
		// (set) Token: 0x060094C0 RID: 38080 RVA: 0x002635AC File Offset: 0x002617AC
		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: 0x1700326F RID: 12911
		// (get) Token: 0x060094C1 RID: 38081 RVA: 0x002635D0 File Offset: 0x002617D0
		// (set) Token: 0x060094C2 RID: 38082 RVA: 0x002635F8 File Offset: 0x002617F8
		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: 0x17003270 RID: 12912
		// (get) Token: 0x060094C3 RID: 38083 RVA: 0x0026361C File Offset: 0x0026181C
		// (set) Token: 0x060094C4 RID: 38084 RVA: 0x00263644 File Offset: 0x00261844
		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: 0x17003271 RID: 12913
		// (get) Token: 0x060094C5 RID: 38085 RVA: 0x00263668 File Offset: 0x00261868
		// (set) Token: 0x060094C6 RID: 38086 RVA: 0x00263690 File Offset: 0x00261890
		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: 0x17003272 RID: 12914
		// (get) Token: 0x060094C7 RID: 38087 RVA: 0x002636B4 File Offset: 0x002618B4
		// (set) Token: 0x060094C8 RID: 38088 RVA: 0x002636DC File Offset: 0x002618DC
		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: 0x04006336 RID: 25398
		private static readonly IntPtr NativeFieldInfoPtr_size;

		// Token: 0x04006337 RID: 25399
		private static readonly IntPtr NativeFieldInfoPtr_resolutionU;

		// Token: 0x04006338 RID: 25400
		private static readonly IntPtr NativeFieldInfoPtr_resolutionV;

		// Token: 0x04006339 RID: 25401
		private static readonly IntPtr NativeFieldInfoPtr_dataHandle;

		// Token: 0x0400633A RID: 25402
		private static readonly IntPtr NativeFieldInfoPtr_heightmapDataHasChanged;

		// Token: 0x0400633B RID: 25403
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_TerrainCollider_0;

		// Token: 0x0400633C RID: 25404
		private static readonly IntPtr NativeMethodInfoPtr_UpdateHeightData_Public_Void_0;

		// Token: 0x0400633D RID: 25405
		private static readonly IntPtr NativeMethodInfoPtr_UpdateIfNeeded_Public_Virtual_Void_0;

		// Token: 0x0400633E RID: 25406
		private static readonly IntPtr NativeMethodInfoPtr_Destroy_Public_Virtual_Void_0;
	}
}
