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

namespace Obi
{
	// Token: 0x020004AD RID: 1197
	public class ObiCapsuleShapeTracker : ObiShapeTracker
	{
		// Token: 0x06008C2A RID: 35882 RVA: 0x0023F77C File Offset: 0x0023D97C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 607533, XrefRangeEnd = 607536, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ObiCapsuleShapeTracker(CapsuleCollider collider)
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiCapsuleShapeTracker>.NativeClassPtr))
		{
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(collider);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiCapsuleShapeTracker.NativeMethodInfoPtr__ctor_Public_Void_CapsuleCollider_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008C2B RID: 35883 RVA: 0x0023F7E0 File Offset: 0x0023D9E0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 0, XrefRangeEnd = 0, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ObiCapsuleShapeTracker(CharacterController collider)
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiCapsuleShapeTracker>.NativeClassPtr))
		{
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(collider);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiCapsuleShapeTracker.NativeMethodInfoPtr__ctor_Public_Void_CharacterController_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008C2C RID: 35884 RVA: 0x0023F844 File Offset: 0x0023DA44
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 607536, XrefRangeEnd = 607571, 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), ObiCapsuleShapeTracker.NativeMethodInfoPtr_UpdateIfNeeded_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008C2D RID: 35885 RVA: 0x0023F894 File Offset: 0x0023DA94
		// Note: this type is marked as 'beforefieldinit'.
		static ObiCapsuleShapeTracker()
		{
			Il2CppClassPointerStore<ObiCapsuleShapeTracker>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "Obi", "ObiCapsuleShapeTracker");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ObiCapsuleShapeTracker>.NativeClassPtr);
			ObiCapsuleShapeTracker.NativeFieldInfoPtr_direction = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiCapsuleShapeTracker>.NativeClassPtr, "direction");
			ObiCapsuleShapeTracker.NativeFieldInfoPtr_radius = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiCapsuleShapeTracker>.NativeClassPtr, "radius");
			ObiCapsuleShapeTracker.NativeFieldInfoPtr_height = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiCapsuleShapeTracker>.NativeClassPtr, "height");
			ObiCapsuleShapeTracker.NativeFieldInfoPtr_center = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiCapsuleShapeTracker>.NativeClassPtr, "center");
			ObiCapsuleShapeTracker.NativeMethodInfoPtr__ctor_Public_Void_CapsuleCollider_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCapsuleShapeTracker>.NativeClassPtr, 100674053);
			ObiCapsuleShapeTracker.NativeMethodInfoPtr__ctor_Public_Void_CharacterController_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCapsuleShapeTracker>.NativeClassPtr, 100674054);
			ObiCapsuleShapeTracker.NativeMethodInfoPtr_UpdateIfNeeded_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCapsuleShapeTracker>.NativeClassPtr, 100674055);
		}

		// Token: 0x06008C2E RID: 35886 RVA: 0x0023EDCC File Offset: 0x0023CFCC
		public ObiCapsuleShapeTracker(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002FC0 RID: 12224
		// (get) Token: 0x06008C2F RID: 35887 RVA: 0x0023F950 File Offset: 0x0023DB50
		// (set) Token: 0x06008C30 RID: 35888 RVA: 0x0023F978 File Offset: 0x0023DB78
		public unsafe int direction
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCapsuleShapeTracker.NativeFieldInfoPtr_direction);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCapsuleShapeTracker.NativeFieldInfoPtr_direction)) = value;
			}
		}

		// Token: 0x17002FC1 RID: 12225
		// (get) Token: 0x06008C31 RID: 35889 RVA: 0x0023F99C File Offset: 0x0023DB9C
		// (set) Token: 0x06008C32 RID: 35890 RVA: 0x0023F9C4 File Offset: 0x0023DBC4
		public unsafe float radius
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCapsuleShapeTracker.NativeFieldInfoPtr_radius);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCapsuleShapeTracker.NativeFieldInfoPtr_radius)) = value;
			}
		}

		// Token: 0x17002FC2 RID: 12226
		// (get) Token: 0x06008C33 RID: 35891 RVA: 0x0023F9E8 File Offset: 0x0023DBE8
		// (set) Token: 0x06008C34 RID: 35892 RVA: 0x0023FA10 File Offset: 0x0023DC10
		public unsafe float height
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCapsuleShapeTracker.NativeFieldInfoPtr_height);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCapsuleShapeTracker.NativeFieldInfoPtr_height)) = value;
			}
		}

		// Token: 0x17002FC3 RID: 12227
		// (get) Token: 0x06008C35 RID: 35893 RVA: 0x0023FA34 File Offset: 0x0023DC34
		// (set) Token: 0x06008C36 RID: 35894 RVA: 0x0023FA5C File Offset: 0x0023DC5C
		public unsafe Vector3 center
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCapsuleShapeTracker.NativeFieldInfoPtr_center);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCapsuleShapeTracker.NativeFieldInfoPtr_center)) = value;
			}
		}

		// Token: 0x04005D6A RID: 23914
		private static readonly IntPtr NativeFieldInfoPtr_direction;

		// Token: 0x04005D6B RID: 23915
		private static readonly IntPtr NativeFieldInfoPtr_radius;

		// Token: 0x04005D6C RID: 23916
		private static readonly IntPtr NativeFieldInfoPtr_height;

		// Token: 0x04005D6D RID: 23917
		private static readonly IntPtr NativeFieldInfoPtr_center;

		// Token: 0x04005D6E RID: 23918
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_CapsuleCollider_0;

		// Token: 0x04005D6F RID: 23919
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_CharacterController_0;

		// Token: 0x04005D70 RID: 23920
		private static readonly IntPtr NativeMethodInfoPtr_UpdateIfNeeded_Public_Virtual_Void_0;
	}
}
