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

namespace XftWeapon
{
	// Token: 0x020003E5 RID: 997
	public class Spline : Il2CppSystem.Object
	{
		// Token: 0x17002A17 RID: 10775
		public unsafe SplineControlPoint this[int index]
		{
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 619432, XrefRangeEnd = 619435, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				checked
				{
					IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
					*ptr = ref index;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Spline.NativeMethodInfoPtr_get_Item_Public_get_SplineControlPoint_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
					IntPtr intPtr3 = intPtr;
					return (intPtr3 != 0) ? new SplineControlPoint(intPtr3) : null;
				}
			}
		}

		// Token: 0x17002A18 RID: 10776
		// (get) Token: 0x06007B94 RID: 31636 RVA: 0x001F8720 File Offset: 0x001F6920
		public unsafe List<SplineControlPoint> Segments
		{
			[CallerCount(10)]
			[CachedScanResults(RefRangeStart = 7527, RefRangeEnd = 7537, XrefRangeStart = 7527, XrefRangeEnd = 7537, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Spline.NativeMethodInfoPtr_get_Segments_Public_get_List_1_SplineControlPoint_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new List<SplineControlPoint>(intPtr3) : null;
			}
		}

		// Token: 0x17002A19 RID: 10777
		// (get) Token: 0x06007B95 RID: 31637 RVA: 0x001F8778 File Offset: 0x001F6978
		public unsafe List<SplineControlPoint> ControlPoints
		{
			[CallerCount(9)]
			[CachedScanResults(RefRangeStart = 7538, RefRangeEnd = 7547, XrefRangeStart = 7538, XrefRangeEnd = 7547, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Spline.NativeMethodInfoPtr_get_ControlPoints_Public_get_List_1_SplineControlPoint_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new List<SplineControlPoint>(intPtr3) : null;
			}
		}

		// Token: 0x06007B96 RID: 31638 RVA: 0x001F87D0 File Offset: 0x001F69D0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 619435, XrefRangeEnd = 619438, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe SplineControlPoint NextControlPoint(SplineControlPoint controlpoint)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(controlpoint);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Spline.NativeMethodInfoPtr_NextControlPoint_Public_SplineControlPoint_SplineControlPoint_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new SplineControlPoint(intPtr3) : null;
			}
		}

		// Token: 0x06007B97 RID: 31639 RVA: 0x001F8840 File Offset: 0x001F6A40
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 619438, XrefRangeEnd = 619441, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe SplineControlPoint PreviousControlPoint(SplineControlPoint controlpoint)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(controlpoint);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Spline.NativeMethodInfoPtr_PreviousControlPoint_Public_SplineControlPoint_SplineControlPoint_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new SplineControlPoint(intPtr3) : null;
			}
		}

		// Token: 0x06007B98 RID: 31640 RVA: 0x001F88B0 File Offset: 0x001F6AB0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 619441, XrefRangeEnd = 619444, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe Vector3 NextPosition(SplineControlPoint controlpoint)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(controlpoint);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Spline.NativeMethodInfoPtr_NextPosition_Public_Vector3_SplineControlPoint_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x06007B99 RID: 31641 RVA: 0x001F8918 File Offset: 0x001F6B18
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 619444, XrefRangeEnd = 619447, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe Vector3 PreviousPosition(SplineControlPoint controlpoint)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(controlpoint);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Spline.NativeMethodInfoPtr_PreviousPosition_Public_Vector3_SplineControlPoint_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x06007B9A RID: 31642 RVA: 0x001F8980 File Offset: 0x001F6B80
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 619447, XrefRangeEnd = 619450, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe Vector3 PreviousNormal(SplineControlPoint controlpoint)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(controlpoint);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Spline.NativeMethodInfoPtr_PreviousNormal_Public_Vector3_SplineControlPoint_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x06007B9B RID: 31643 RVA: 0x001F89E8 File Offset: 0x001F6BE8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 619450, XrefRangeEnd = 619453, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe Vector3 NextNormal(SplineControlPoint controlpoint)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(controlpoint);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Spline.NativeMethodInfoPtr_NextNormal_Public_Vector3_SplineControlPoint_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x06007B9C RID: 31644 RVA: 0x001F8A50 File Offset: 0x001F6C50
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 619462, RefRangeEnd = 619464, XrefRangeStart = 619453, XrefRangeEnd = 619462, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe SplineControlPoint LenToSegment(float t, out float localF)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref t;
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = &localF;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Spline.NativeMethodInfoPtr_LenToSegment_Public_SplineControlPoint_Single_byref_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			IntPtr intPtr3 = intPtr;
			return (intPtr3 != 0) ? new SplineControlPoint(intPtr3) : null;
		}

		// Token: 0x06007B9D RID: 31645 RVA: 0x001F8ACC File Offset: 0x001F6CCC
		[CallerCount(4)]
		[CachedScanResults(RefRangeStart = 619464, RefRangeEnd = 619468, XrefRangeStart = 619464, XrefRangeEnd = 619464, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe static Vector3 CatmulRom(Vector3 T0, Vector3 P0, Vector3 P1, Vector3 T1, float f)
		{
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)5) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref T0;
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref P0;
			ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref P1;
			ptr[checked(unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref T1;
			ptr[checked(unchecked((UIntPtr)4) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref f;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Spline.NativeMethodInfoPtr_CatmulRom_Public_Static_Vector3_Vector3_Vector3_Vector3_Vector3_Single_0, 0, (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}

		// Token: 0x06007B9E RID: 31646 RVA: 0x001F8B6C File Offset: 0x001F6D6C
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 619479, RefRangeEnd = 619480, XrefRangeStart = 619468, XrefRangeEnd = 619479, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe Vector3 InterpolateByLen(float tl)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref tl;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Spline.NativeMethodInfoPtr_InterpolateByLen_Public_Vector3_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x06007B9F RID: 31647 RVA: 0x001F8BD0 File Offset: 0x001F6DD0
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 619491, RefRangeEnd = 619492, XrefRangeStart = 619480, XrefRangeEnd = 619491, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe Vector3 InterpolateNormalByLen(float tl)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref tl;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Spline.NativeMethodInfoPtr_InterpolateNormalByLen_Public_Vector3_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x06007BA0 RID: 31648 RVA: 0x001F8C34 File Offset: 0x001F6E34
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 619501, RefRangeEnd = 619503, XrefRangeStart = 619492, XrefRangeEnd = 619501, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe SplineControlPoint AddControlPoint(Vector3 pos, Vector3 up)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref pos;
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref up;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Spline.NativeMethodInfoPtr_AddControlPoint_Public_SplineControlPoint_Vector3_Vector3_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			IntPtr intPtr3 = intPtr;
			return (intPtr3 != 0) ? new SplineControlPoint(intPtr3) : null;
		}

		// Token: 0x06007BA1 RID: 31649 RVA: 0x001F8CB0 File Offset: 0x001F6EB0
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 619507, RefRangeEnd = 619509, XrefRangeStart = 619503, XrefRangeEnd = 619507, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Clear()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Spline.NativeMethodInfoPtr_Clear_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007BA2 RID: 31650 RVA: 0x001F8CF4 File Offset: 0x001F6EF4
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 619518, RefRangeEnd = 619519, XrefRangeStart = 619509, XrefRangeEnd = 619518, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void RefreshDistance()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Spline.NativeMethodInfoPtr_RefreshDistance_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007BA3 RID: 31651 RVA: 0x001F8D38 File Offset: 0x001F6F38
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 619538, RefRangeEnd = 619539, XrefRangeStart = 619519, XrefRangeEnd = 619538, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void RefreshSpline()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Spline.NativeMethodInfoPtr_RefreshSpline_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007BA4 RID: 31652 RVA: 0x001F8D7C File Offset: 0x001F6F7C
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 619552, RefRangeEnd = 619553, XrefRangeStart = 619539, XrefRangeEnd = 619552, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe Spline()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<Spline>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Spline.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007BA5 RID: 31653 RVA: 0x001F8DC8 File Offset: 0x001F6FC8
		// Note: this type is marked as 'beforefieldinit'.
		static Spline()
		{
			Il2CppClassPointerStore<Spline>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "XftWeapon", "Spline");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<Spline>.NativeClassPtr);
			Spline.NativeFieldInfoPtr_mControlPoints = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Spline>.NativeClassPtr, "mControlPoints");
			Spline.NativeFieldInfoPtr_mSegments = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Spline>.NativeClassPtr, "mSegments");
			Spline.NativeFieldInfoPtr_Granularity = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Spline>.NativeClassPtr, "Granularity");
			Spline.NativeMethodInfoPtr_get_Item_Public_get_SplineControlPoint_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100672671);
			Spline.NativeMethodInfoPtr_get_Segments_Public_get_List_1_SplineControlPoint_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100672672);
			Spline.NativeMethodInfoPtr_get_ControlPoints_Public_get_List_1_SplineControlPoint_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100672673);
			Spline.NativeMethodInfoPtr_NextControlPoint_Public_SplineControlPoint_SplineControlPoint_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100672674);
			Spline.NativeMethodInfoPtr_PreviousControlPoint_Public_SplineControlPoint_SplineControlPoint_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100672675);
			Spline.NativeMethodInfoPtr_NextPosition_Public_Vector3_SplineControlPoint_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100672676);
			Spline.NativeMethodInfoPtr_PreviousPosition_Public_Vector3_SplineControlPoint_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100672677);
			Spline.NativeMethodInfoPtr_PreviousNormal_Public_Vector3_SplineControlPoint_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100672678);
			Spline.NativeMethodInfoPtr_NextNormal_Public_Vector3_SplineControlPoint_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100672679);
			Spline.NativeMethodInfoPtr_LenToSegment_Public_SplineControlPoint_Single_byref_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100672680);
			Spline.NativeMethodInfoPtr_CatmulRom_Public_Static_Vector3_Vector3_Vector3_Vector3_Vector3_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100672681);
			Spline.NativeMethodInfoPtr_InterpolateByLen_Public_Vector3_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100672682);
			Spline.NativeMethodInfoPtr_InterpolateNormalByLen_Public_Vector3_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100672683);
			Spline.NativeMethodInfoPtr_AddControlPoint_Public_SplineControlPoint_Vector3_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100672684);
			Spline.NativeMethodInfoPtr_Clear_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100672685);
			Spline.NativeMethodInfoPtr_RefreshDistance_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100672686);
			Spline.NativeMethodInfoPtr_RefreshSpline_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100672687);
			Spline.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100672688);
		}

		// Token: 0x06007BA6 RID: 31654 RVA: 0x0000A74C File Offset: 0x0000894C
		public Spline(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002A14 RID: 10772
		// (get) Token: 0x06007BA7 RID: 31655 RVA: 0x001F8F9C File Offset: 0x001F719C
		// (set) Token: 0x06007BA8 RID: 31656 RVA: 0x001F8FD0 File Offset: 0x001F71D0
		public unsafe List<SplineControlPoint> mControlPoints
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Spline.NativeFieldInfoPtr_mControlPoints);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new List<SplineControlPoint>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(Spline.NativeFieldInfoPtr_mControlPoints), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002A15 RID: 10773
		// (get) Token: 0x06007BA9 RID: 31657 RVA: 0x001F8FF8 File Offset: 0x001F71F8
		// (set) Token: 0x06007BAA RID: 31658 RVA: 0x001F902C File Offset: 0x001F722C
		public unsafe List<SplineControlPoint> mSegments
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Spline.NativeFieldInfoPtr_mSegments);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new List<SplineControlPoint>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(Spline.NativeFieldInfoPtr_mSegments), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002A16 RID: 10774
		// (get) Token: 0x06007BAB RID: 31659 RVA: 0x001F9054 File Offset: 0x001F7254
		// (set) Token: 0x06007BAC RID: 31660 RVA: 0x001F907C File Offset: 0x001F727C
		public unsafe int Granularity
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Spline.NativeFieldInfoPtr_Granularity);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Spline.NativeFieldInfoPtr_Granularity)) = value;
			}
		}

		// Token: 0x04005300 RID: 21248
		private static readonly IntPtr NativeFieldInfoPtr_mControlPoints;

		// Token: 0x04005301 RID: 21249
		private static readonly IntPtr NativeFieldInfoPtr_mSegments;

		// Token: 0x04005302 RID: 21250
		private static readonly IntPtr NativeFieldInfoPtr_Granularity;

		// Token: 0x04005303 RID: 21251
		private static readonly IntPtr NativeMethodInfoPtr_get_Item_Public_get_SplineControlPoint_Int32_0;

		// Token: 0x04005304 RID: 21252
		private static readonly IntPtr NativeMethodInfoPtr_get_Segments_Public_get_List_1_SplineControlPoint_0;

		// Token: 0x04005305 RID: 21253
		private static readonly IntPtr NativeMethodInfoPtr_get_ControlPoints_Public_get_List_1_SplineControlPoint_0;

		// Token: 0x04005306 RID: 21254
		private static readonly IntPtr NativeMethodInfoPtr_NextControlPoint_Public_SplineControlPoint_SplineControlPoint_0;

		// Token: 0x04005307 RID: 21255
		private static readonly IntPtr NativeMethodInfoPtr_PreviousControlPoint_Public_SplineControlPoint_SplineControlPoint_0;

		// Token: 0x04005308 RID: 21256
		private static readonly IntPtr NativeMethodInfoPtr_NextPosition_Public_Vector3_SplineControlPoint_0;

		// Token: 0x04005309 RID: 21257
		private static readonly IntPtr NativeMethodInfoPtr_PreviousPosition_Public_Vector3_SplineControlPoint_0;

		// Token: 0x0400530A RID: 21258
		private static readonly IntPtr NativeMethodInfoPtr_PreviousNormal_Public_Vector3_SplineControlPoint_0;

		// Token: 0x0400530B RID: 21259
		private static readonly IntPtr NativeMethodInfoPtr_NextNormal_Public_Vector3_SplineControlPoint_0;

		// Token: 0x0400530C RID: 21260
		private static readonly IntPtr NativeMethodInfoPtr_LenToSegment_Public_SplineControlPoint_Single_byref_Single_0;

		// Token: 0x0400530D RID: 21261
		private static readonly IntPtr NativeMethodInfoPtr_CatmulRom_Public_Static_Vector3_Vector3_Vector3_Vector3_Vector3_Single_0;

		// Token: 0x0400530E RID: 21262
		private static readonly IntPtr NativeMethodInfoPtr_InterpolateByLen_Public_Vector3_Single_0;

		// Token: 0x0400530F RID: 21263
		private static readonly IntPtr NativeMethodInfoPtr_InterpolateNormalByLen_Public_Vector3_Single_0;

		// Token: 0x04005310 RID: 21264
		private static readonly IntPtr NativeMethodInfoPtr_AddControlPoint_Public_SplineControlPoint_Vector3_Vector3_0;

		// Token: 0x04005311 RID: 21265
		private static readonly IntPtr NativeMethodInfoPtr_Clear_Public_Void_0;

		// Token: 0x04005312 RID: 21266
		private static readonly IntPtr NativeMethodInfoPtr_RefreshDistance_Private_Void_0;

		// Token: 0x04005313 RID: 21267
		private static readonly IntPtr NativeMethodInfoPtr_RefreshSpline_Public_Void_0;

		// Token: 0x04005314 RID: 21268
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
