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

namespace XftWeapon
{
	// Token: 0x0200038D RID: 909
	public class Spline : Il2CppSystem.Object
	{
		// Token: 0x1700277C RID: 10108
		public unsafe SplineControlPoint this[int index]
		{
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 587119, XrefRangeEnd = 587122, 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: 0x1700277D RID: 10109
		// (get) Token: 0x06007341 RID: 29505 RVA: 0x001D59E4 File Offset: 0x001D3BE4
		public unsafe List<SplineControlPoint> Segments
		{
			[CallerCount(10)]
			[CachedScanResults(RefRangeStart = 7233, RefRangeEnd = 7243, XrefRangeStart = 7233, XrefRangeEnd = 7243, 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: 0x1700277E RID: 10110
		// (get) Token: 0x06007342 RID: 29506 RVA: 0x001D5A3C File Offset: 0x001D3C3C
		public unsafe List<SplineControlPoint> ControlPoints
		{
			[CallerCount(9)]
			[CachedScanResults(RefRangeStart = 7244, RefRangeEnd = 7253, XrefRangeStart = 7244, XrefRangeEnd = 7253, 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: 0x06007343 RID: 29507 RVA: 0x001D5A94 File Offset: 0x001D3C94
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 587122, XrefRangeEnd = 587125, 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: 0x06007344 RID: 29508 RVA: 0x001D5B04 File Offset: 0x001D3D04
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 587125, XrefRangeEnd = 587128, 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: 0x06007345 RID: 29509 RVA: 0x001D5B74 File Offset: 0x001D3D74
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 587128, XrefRangeEnd = 587131, 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: 0x06007346 RID: 29510 RVA: 0x001D5BDC File Offset: 0x001D3DDC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 587131, XrefRangeEnd = 587134, 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: 0x06007347 RID: 29511 RVA: 0x001D5C44 File Offset: 0x001D3E44
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 587134, XrefRangeEnd = 587137, 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: 0x06007348 RID: 29512 RVA: 0x001D5CAC File Offset: 0x001D3EAC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 587137, XrefRangeEnd = 587140, 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: 0x06007349 RID: 29513 RVA: 0x001D5D14 File Offset: 0x001D3F14
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 587149, RefRangeEnd = 587151, XrefRangeStart = 587140, XrefRangeEnd = 587149, 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: 0x0600734A RID: 29514 RVA: 0x001D5D90 File Offset: 0x001D3F90
		[CallerCount(4)]
		[CachedScanResults(RefRangeStart = 587151, RefRangeEnd = 587155, XrefRangeStart = 587151, XrefRangeEnd = 587151, 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: 0x0600734B RID: 29515 RVA: 0x001D5E30 File Offset: 0x001D4030
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 587166, RefRangeEnd = 587167, XrefRangeStart = 587155, XrefRangeEnd = 587166, 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: 0x0600734C RID: 29516 RVA: 0x001D5E94 File Offset: 0x001D4094
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 587178, RefRangeEnd = 587179, XrefRangeStart = 587167, XrefRangeEnd = 587178, 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: 0x0600734D RID: 29517 RVA: 0x001D5EF8 File Offset: 0x001D40F8
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 587188, RefRangeEnd = 587190, XrefRangeStart = 587179, XrefRangeEnd = 587188, 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: 0x0600734E RID: 29518 RVA: 0x001D5F74 File Offset: 0x001D4174
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 587194, RefRangeEnd = 587196, XrefRangeStart = 587190, XrefRangeEnd = 587194, 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: 0x0600734F RID: 29519 RVA: 0x001D5FB8 File Offset: 0x001D41B8
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 587205, RefRangeEnd = 587206, XrefRangeStart = 587196, XrefRangeEnd = 587205, 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: 0x06007350 RID: 29520 RVA: 0x001D5FFC File Offset: 0x001D41FC
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 587225, RefRangeEnd = 587226, XrefRangeStart = 587206, XrefRangeEnd = 587225, 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: 0x06007351 RID: 29521 RVA: 0x001D6040 File Offset: 0x001D4240
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 587239, RefRangeEnd = 587240, XrefRangeStart = 587226, XrefRangeEnd = 587239, 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: 0x06007352 RID: 29522 RVA: 0x001D608C File Offset: 0x001D428C
		// 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, 100671958);
			Spline.NativeMethodInfoPtr_get_Segments_Public_get_List_1_SplineControlPoint_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100671959);
			Spline.NativeMethodInfoPtr_get_ControlPoints_Public_get_List_1_SplineControlPoint_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100671960);
			Spline.NativeMethodInfoPtr_NextControlPoint_Public_SplineControlPoint_SplineControlPoint_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100671961);
			Spline.NativeMethodInfoPtr_PreviousControlPoint_Public_SplineControlPoint_SplineControlPoint_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100671962);
			Spline.NativeMethodInfoPtr_NextPosition_Public_Vector3_SplineControlPoint_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100671963);
			Spline.NativeMethodInfoPtr_PreviousPosition_Public_Vector3_SplineControlPoint_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100671964);
			Spline.NativeMethodInfoPtr_PreviousNormal_Public_Vector3_SplineControlPoint_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100671965);
			Spline.NativeMethodInfoPtr_NextNormal_Public_Vector3_SplineControlPoint_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100671966);
			Spline.NativeMethodInfoPtr_LenToSegment_Public_SplineControlPoint_Single_byref_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100671967);
			Spline.NativeMethodInfoPtr_CatmulRom_Public_Static_Vector3_Vector3_Vector3_Vector3_Vector3_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100671968);
			Spline.NativeMethodInfoPtr_InterpolateByLen_Public_Vector3_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100671969);
			Spline.NativeMethodInfoPtr_InterpolateNormalByLen_Public_Vector3_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100671970);
			Spline.NativeMethodInfoPtr_AddControlPoint_Public_SplineControlPoint_Vector3_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100671971);
			Spline.NativeMethodInfoPtr_Clear_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100671972);
			Spline.NativeMethodInfoPtr_RefreshDistance_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100671973);
			Spline.NativeMethodInfoPtr_RefreshSpline_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100671974);
			Spline.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Spline>.NativeClassPtr, 100671975);
		}

		// Token: 0x06007353 RID: 29523 RVA: 0x0000A688 File Offset: 0x00008888
		public Spline(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002779 RID: 10105
		// (get) Token: 0x06007354 RID: 29524 RVA: 0x001D6260 File Offset: 0x001D4460
		// (set) Token: 0x06007355 RID: 29525 RVA: 0x001D6294 File Offset: 0x001D4494
		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: 0x1700277A RID: 10106
		// (get) Token: 0x06007356 RID: 29526 RVA: 0x001D62BC File Offset: 0x001D44BC
		// (set) Token: 0x06007357 RID: 29527 RVA: 0x001D62F0 File Offset: 0x001D44F0
		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: 0x1700277B RID: 10107
		// (get) Token: 0x06007358 RID: 29528 RVA: 0x001D6318 File Offset: 0x001D4518
		// (set) Token: 0x06007359 RID: 29529 RVA: 0x001D6340 File Offset: 0x001D4540
		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: 0x04004D57 RID: 19799
		private static readonly IntPtr NativeFieldInfoPtr_mControlPoints;

		// Token: 0x04004D58 RID: 19800
		private static readonly IntPtr NativeFieldInfoPtr_mSegments;

		// Token: 0x04004D59 RID: 19801
		private static readonly IntPtr NativeFieldInfoPtr_Granularity;

		// Token: 0x04004D5A RID: 19802
		private static readonly IntPtr NativeMethodInfoPtr_get_Item_Public_get_SplineControlPoint_Int32_0;

		// Token: 0x04004D5B RID: 19803
		private static readonly IntPtr NativeMethodInfoPtr_get_Segments_Public_get_List_1_SplineControlPoint_0;

		// Token: 0x04004D5C RID: 19804
		private static readonly IntPtr NativeMethodInfoPtr_get_ControlPoints_Public_get_List_1_SplineControlPoint_0;

		// Token: 0x04004D5D RID: 19805
		private static readonly IntPtr NativeMethodInfoPtr_NextControlPoint_Public_SplineControlPoint_SplineControlPoint_0;

		// Token: 0x04004D5E RID: 19806
		private static readonly IntPtr NativeMethodInfoPtr_PreviousControlPoint_Public_SplineControlPoint_SplineControlPoint_0;

		// Token: 0x04004D5F RID: 19807
		private static readonly IntPtr NativeMethodInfoPtr_NextPosition_Public_Vector3_SplineControlPoint_0;

		// Token: 0x04004D60 RID: 19808
		private static readonly IntPtr NativeMethodInfoPtr_PreviousPosition_Public_Vector3_SplineControlPoint_0;

		// Token: 0x04004D61 RID: 19809
		private static readonly IntPtr NativeMethodInfoPtr_PreviousNormal_Public_Vector3_SplineControlPoint_0;

		// Token: 0x04004D62 RID: 19810
		private static readonly IntPtr NativeMethodInfoPtr_NextNormal_Public_Vector3_SplineControlPoint_0;

		// Token: 0x04004D63 RID: 19811
		private static readonly IntPtr NativeMethodInfoPtr_LenToSegment_Public_SplineControlPoint_Single_byref_Single_0;

		// Token: 0x04004D64 RID: 19812
		private static readonly IntPtr NativeMethodInfoPtr_CatmulRom_Public_Static_Vector3_Vector3_Vector3_Vector3_Vector3_Single_0;

		// Token: 0x04004D65 RID: 19813
		private static readonly IntPtr NativeMethodInfoPtr_InterpolateByLen_Public_Vector3_Single_0;

		// Token: 0x04004D66 RID: 19814
		private static readonly IntPtr NativeMethodInfoPtr_InterpolateNormalByLen_Public_Vector3_Single_0;

		// Token: 0x04004D67 RID: 19815
		private static readonly IntPtr NativeMethodInfoPtr_AddControlPoint_Public_SplineControlPoint_Vector3_Vector3_0;

		// Token: 0x04004D68 RID: 19816
		private static readonly IntPtr NativeMethodInfoPtr_Clear_Public_Void_0;

		// Token: 0x04004D69 RID: 19817
		private static readonly IntPtr NativeMethodInfoPtr_RefreshDistance_Private_Void_0;

		// Token: 0x04004D6A RID: 19818
		private static readonly IntPtr NativeMethodInfoPtr_RefreshSpline_Public_Void_0;

		// Token: 0x04004D6B RID: 19819
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
