using System;
using Cpp2IlInjected;
using UnityEngine;

namespace XftWeapon
{
	// Token: 0x0200037F RID: 895
	[Token(Token = "0x200037F")]
	public class SplineControlPoint
	{
		// Token: 0x170001DA RID: 474
		// (get) Token: 0x060021E8 RID: 8680 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x170001DA")]
		public SplineControlPoint NextControlPoint
		{
			[Token(Token = "0x60021E8")]
			[Address(RVA = "0xAAD2C0", Offset = "0xAAC0C0", VA = "0x180AAD2C0")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x170001DB RID: 475
		// (get) Token: 0x060021E9 RID: 8681 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x170001DB")]
		public SplineControlPoint PreviousControlPoint
		{
			[Token(Token = "0x60021E9")]
			[Address(RVA = "0xAAD4D0", Offset = "0xAAC2D0", VA = "0x180AAD4D0")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x170001DC RID: 476
		// (get) Token: 0x060021EA RID: 8682 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x170001DC")]
		public Vector3 NextPosition
		{
			[Token(Token = "0x60021EA")]
			[Address(RVA = "0xAAD410", Offset = "0xAAC210", VA = "0x180AAD410")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x170001DD RID: 477
		// (get) Token: 0x060021EB RID: 8683 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x170001DD")]
		public Vector3 PreviousPosition
		{
			[Token(Token = "0x60021EB")]
			[Address(RVA = "0xAAD620", Offset = "0xAAC420", VA = "0x180AAD620")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x170001DE RID: 478
		// (get) Token: 0x060021EC RID: 8684 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x170001DE")]
		public Vector3 NextNormal
		{
			[Token(Token = "0x60021EC")]
			[Address(RVA = "0xAAD350", Offset = "0xAAC150", VA = "0x180AAD350")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x170001DF RID: 479
		// (get) Token: 0x060021ED RID: 8685 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x170001DF")]
		public Vector3 PreviousNormal
		{
			[Token(Token = "0x60021ED")]
			[Address(RVA = "0xAAD560", Offset = "0xAAC360", VA = "0x180AAD560")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x170001E0 RID: 480
		// (get) Token: 0x060021EE RID: 8686 RVA: 0x0004EF34 File Offset: 0x0004D134
		[Token(Token = "0x170001E0")]
		public bool IsValid
		{
			[Token(Token = "0x60021EE")]
			[Address(RVA = "0xAAD2A0", Offset = "0xAAC0A0", VA = "0x180AAD2A0")]
			get
			{
				return this.NextControlPoint != 0;
			}
		}

		// Token: 0x060021EF RID: 8687 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60021EF")]
		[Address(RVA = "0xAACE30", Offset = "0xAABC30", VA = "0x180AACE30")]
		private Vector3 GetNext2Position()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060021F0 RID: 8688 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60021F0")]
		[Address(RVA = "0xAACDD0", Offset = "0xAABBD0", VA = "0x180AACDD0")]
		private Vector3 GetNext2Normal()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060021F1 RID: 8689 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60021F1")]
		[Address(RVA = "0xAAD0A0", Offset = "0xAABEA0", VA = "0x180AAD0A0")]
		public Vector3 Interpolate(float localF)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060021F2 RID: 8690 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60021F2")]
		[Address(RVA = "0xAACEB0", Offset = "0xAABCB0", VA = "0x180AACEB0")]
		public Vector3 InterpolateNormal(float localF)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060021F3 RID: 8691 RVA: 0x0004EF50 File Offset: 0x0004D150
		[Token(Token = "0x60021F3")]
		[Address(RVA = "0xAACE80", Offset = "0xAABC80", VA = "0x180AACE80")]
		public void Init(Spline owner)
		{
			this.mSpline = owner;
			this.SegmentIndex = (int)((ulong)4294967295L);
		}

		// Token: 0x060021F4 RID: 8692 RVA: 0x0004EF74 File Offset: 0x0004D174
		[Token(Token = "0x60021F4")]
		[Address(RVA = "0xAAD290", Offset = "0xAAC090", VA = "0x180AAD290")]
		public SplineControlPoint()
		{
		}

		// Token: 0x04002B34 RID: 11060
		[FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4002B34")]
		public Vector3 Position;

		// Token: 0x04002B35 RID: 11061
		[FieldOffset(Offset = "0x1C")]
		[Token(Token = "0x4002B35")]
		public Vector3 Normal;

		// Token: 0x04002B36 RID: 11062
		[FieldOffset(Offset = "0x28")]
		[Token(Token = "0x4002B36")]
		public int ControlPointIndex = (int)((ulong)(-1L));

		// Token: 0x04002B37 RID: 11063
		[FieldOffset(Offset = "0x2C")]
		[Token(Token = "0x4002B37")]
		public int SegmentIndex;

		// Token: 0x04002B38 RID: 11064
		[FieldOffset(Offset = "0x30")]
		[Token(Token = "0x4002B38")]
		public float Dist;

		// Token: 0x04002B39 RID: 11065
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x4002B39")]
		protected Spline mSpline;
	}
}
