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

namespace Obi
{
	// Token: 0x020004B0 RID: 1200
	public class ObiShapeTracker : Il2CppSystem.Object
	{
		// Token: 0x17002FD0 RID: 12240
		// (get) Token: 0x06008C52 RID: 35922 RVA: 0x00240164 File Offset: 0x0023E364
		public unsafe IntPtr OniShape
		{
			[CallerCount(0)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiShapeTracker.NativeMethodInfoPtr_get_OniShape_Public_get_IntPtr_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x06008C53 RID: 35923 RVA: 0x002401B4 File Offset: 0x0023E3B4
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 607667, RefRangeEnd = 607669, XrefRangeStart = 607665, XrefRangeEnd = 607667, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe virtual 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), ObiShapeTracker.NativeMethodInfoPtr_Destroy_Public_Virtual_New_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008C54 RID: 35924 RVA: 0x00240204 File Offset: 0x0023E404
		[CallerCount(0)]
		public unsafe virtual 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), ObiShapeTracker.NativeMethodInfoPtr_UpdateIfNeeded_Public_Abstract_Virtual_New_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008C55 RID: 35925 RVA: 0x00240254 File Offset: 0x0023E454
		[CallerCount(15)]
		[CachedScanResults(RefRangeStart = 607671, RefRangeEnd = 607686, XrefRangeStart = 607669, XrefRangeEnd = 607671, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ObiShapeTracker()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiShapeTracker>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiShapeTracker.NativeMethodInfoPtr__ctor_Protected_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008C56 RID: 35926 RVA: 0x002402A0 File Offset: 0x0023E4A0
		// Note: this type is marked as 'beforefieldinit'.
		static ObiShapeTracker()
		{
			Il2CppClassPointerStore<ObiShapeTracker>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "Obi", "ObiShapeTracker");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ObiShapeTracker>.NativeClassPtr);
			ObiShapeTracker.NativeFieldInfoPtr_collider = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiShapeTracker>.NativeClassPtr, "collider");
			ObiShapeTracker.NativeFieldInfoPtr_adaptor = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiShapeTracker>.NativeClassPtr, "adaptor");
			ObiShapeTracker.NativeFieldInfoPtr_oniShape = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiShapeTracker>.NativeClassPtr, "oniShape");
			ObiShapeTracker.NativeMethodInfoPtr_get_OniShape_Public_get_IntPtr_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiShapeTracker>.NativeClassPtr, 100674068);
			ObiShapeTracker.NativeMethodInfoPtr_Destroy_Public_Virtual_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiShapeTracker>.NativeClassPtr, 100674069);
			ObiShapeTracker.NativeMethodInfoPtr_UpdateIfNeeded_Public_Abstract_Virtual_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiShapeTracker>.NativeClassPtr, 100674070);
			ObiShapeTracker.NativeMethodInfoPtr__ctor_Protected_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiShapeTracker>.NativeClassPtr, 100674071);
		}

		// Token: 0x06008C57 RID: 35927 RVA: 0x0000A688 File Offset: 0x00008888
		public ObiShapeTracker(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002FCD RID: 12237
		// (get) Token: 0x06008C58 RID: 35928 RVA: 0x0024035C File Offset: 0x0023E55C
		// (set) Token: 0x06008C59 RID: 35929 RVA: 0x00240390 File Offset: 0x0023E590
		public unsafe Component collider
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiShapeTracker.NativeFieldInfoPtr_collider);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Component(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiShapeTracker.NativeFieldInfoPtr_collider), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002FCE RID: 12238
		// (get) Token: 0x06008C5A RID: 35930 RVA: 0x002403B8 File Offset: 0x0023E5B8
		// (set) Token: 0x06008C5B RID: 35931 RVA: 0x002403E0 File Offset: 0x0023E5E0
		public unsafe Oni.Shape adaptor
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiShapeTracker.NativeFieldInfoPtr_adaptor);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiShapeTracker.NativeFieldInfoPtr_adaptor)) = value;
			}
		}

		// Token: 0x17002FCF RID: 12239
		// (get) Token: 0x06008C5C RID: 35932 RVA: 0x00240404 File Offset: 0x0023E604
		// (set) Token: 0x06008C5D RID: 35933 RVA: 0x0024042C File Offset: 0x0023E62C
		public unsafe IntPtr oniShape
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiShapeTracker.NativeFieldInfoPtr_oniShape);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiShapeTracker.NativeFieldInfoPtr_oniShape)) = value;
			}
		}

		// Token: 0x04005D82 RID: 23938
		private static readonly IntPtr NativeFieldInfoPtr_collider;

		// Token: 0x04005D83 RID: 23939
		private static readonly IntPtr NativeFieldInfoPtr_adaptor;

		// Token: 0x04005D84 RID: 23940
		private static readonly IntPtr NativeFieldInfoPtr_oniShape;

		// Token: 0x04005D85 RID: 23941
		private static readonly IntPtr NativeMethodInfoPtr_get_OniShape_Public_get_IntPtr_0;

		// Token: 0x04005D86 RID: 23942
		private static readonly IntPtr NativeMethodInfoPtr_Destroy_Public_Virtual_New_Void_0;

		// Token: 0x04005D87 RID: 23943
		private static readonly IntPtr NativeMethodInfoPtr_UpdateIfNeeded_Public_Abstract_Virtual_New_Void_0;

		// Token: 0x04005D88 RID: 23944
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Protected_Void_0;
	}
}
