using System;
using Cpp2IlInjected;
using UnityEngine;

namespace XftWeapon
{
	// Token: 0x020003D7 RID: 983
	[Token(Token = "0x20003D7")]
	public class SplineControlPoint
	{
		// Token: 0x170001FF RID: 511
		// (get) Token: 0x060024B1 RID: 9393 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x170001FF")]
		public SplineControlPoint NextControlPoint
		{
			[Token(Token = "0x60024B1")]
			[Address(RVA = "0x97D250", Offset = "0x97C250", VA = "0x18097D250")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x17000200 RID: 512
		// (get) Token: 0x060024B2 RID: 9394 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x17000200")]
		public SplineControlPoint PreviousControlPoint
		{
			[Token(Token = "0x60024B2")]
			[Address(RVA = "0x97D460", Offset = "0x97C460", VA = "0x18097D460")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x17000201 RID: 513
		// (get) Token: 0x060024B3 RID: 9395 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x17000201")]
		public Vector3 NextPosition
		{
			[Token(Token = "0x60024B3")]
			[Address(RVA = "0x97D3A0", Offset = "0x97C3A0", VA = "0x18097D3A0")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x17000202 RID: 514
		// (get) Token: 0x060024B4 RID: 9396 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x17000202")]
		public Vector3 PreviousPosition
		{
			[Token(Token = "0x60024B4")]
			[Address(RVA = "0x97D5B0", Offset = "0x97C5B0", VA = "0x18097D5B0")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x17000203 RID: 515
		// (get) Token: 0x060024B5 RID: 9397 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x17000203")]
		public Vector3 NextNormal
		{
			[Token(Token = "0x60024B5")]
			[Address(RVA = "0x97D2E0", Offset = "0x97C2E0", VA = "0x18097D2E0")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x17000204 RID: 516
		// (get) Token: 0x060024B6 RID: 9398 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x17000204")]
		public Vector3 PreviousNormal
		{
			[Token(Token = "0x60024B6")]
			[Address(RVA = "0x97D4F0", Offset = "0x97C4F0", VA = "0x18097D4F0")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x17000205 RID: 517
		// (get) Token: 0x060024B7 RID: 9399 RVA: 0x000561D0 File Offset: 0x000543D0
		[Token(Token = "0x17000205")]
		public bool IsValid
		{
			[Token(Token = "0x60024B7")]
			[Address(RVA = "0x97D230", Offset = "0x97C230", VA = "0x18097D230")]
			get
			{
				return this.NextControlPoint != 0;
			}
		}

		// Token: 0x060024B8 RID: 9400 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60024B8")]
		[Address(RVA = "0x97CDC0", Offset = "0x97BDC0", VA = "0x18097CDC0")]
		private Vector3 GetNext2Position()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060024B9 RID: 9401 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60024B9")]
		[Address(RVA = "0x97CD60", Offset = "0x97BD60", VA = "0x18097CD60")]
		private Vector3 GetNext2Normal()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060024BA RID: 9402 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60024BA")]
		[Address(RVA = "0x97D030", Offset = "0x97C030", VA = "0x18097D030")]
		public Vector3 Interpolate(float localF)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060024BB RID: 9403 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60024BB")]
		[Address(RVA = "0x97CE40", Offset = "0x97BE40", VA = "0x18097CE40")]
		public Vector3 InterpolateNormal(float localF)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060024BC RID: 9404 RVA: 0x000561EC File Offset: 0x000543EC
		[Token(Token = "0x60024BC")]
		[Address(RVA = "0x97CE10", Offset = "0x97BE10", VA = "0x18097CE10")]
		public void Init(Spline owner)
		{
			this.mSpline = owner;
			this.SegmentIndex = (int)((ulong)4294967295L);
		}

		// Token: 0x060024BD RID: 9405 RVA: 0x00056210 File Offset: 0x00054410
		[Token(Token = "0x60024BD")]
		[Address(RVA = "0x97D220", Offset = "0x97C220", VA = "0x18097D220")]
		public SplineControlPoint()
		{
		}

		// Token: 0x04002E1E RID: 11806
		[FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4002E1E")]
		public Vector3 Position;

		// Token: 0x04002E1F RID: 11807
		[FieldOffset(Offset = "0x1C")]
		[Token(Token = "0x4002E1F")]
		public Vector3 Normal;

		// Token: 0x04002E20 RID: 11808
		[FieldOffset(Offset = "0x28")]
		[Token(Token = "0x4002E20")]
		public int ControlPointIndex = (int)((ulong)(-1L));

		// Token: 0x04002E21 RID: 11809
		[FieldOffset(Offset = "0x2C")]
		[Token(Token = "0x4002E21")]
		public int SegmentIndex;

		// Token: 0x04002E22 RID: 11810
		[FieldOffset(Offset = "0x30")]
		[Token(Token = "0x4002E22")]
		public float Dist;

		// Token: 0x04002E23 RID: 11811
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x4002E23")]
		protected Spline mSpline;
	}
}
