using System;
using System.Collections.Generic;
using Cpp2IlInjected;
using UnityEngine;
using UnityEngine.AI;

namespace ch.sycoforge.Decal.Demo
{
	// Token: 0x020005E3 RID: 1507
	[Token(Token = "0x20005E3")]
	[RequireComponent(typeof(LineRenderer))]
	[RequireComponent(typeof(NavMeshAgent))]
	public class PathAgent : MonoBehaviour
	{
		// Token: 0x06002FAB RID: 12203 RVA: 0x00065770 File Offset: 0x00063970
		[Token(Token = "0x6002FAB")]
		[Address(RVA = "0x310410", Offset = "0x30F210", VA = "0x180310410")]
		private void Start()
		{
			GameObject gameObject = this.TargetAimDecal.gameObject;
			int num = 0;
			gameObject.SetActive(num != 0);
			NavMeshAgent component = base.GetComponent<NavMeshAgent>();
			this.agent = component;
			LineRenderer component2 = base.GetComponent<LineRenderer>();
			this.lineRenderer = component2;
			throw new NullReferenceException();
		}

		// Token: 0x06002FAC RID: 12204 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002FAC")]
		[Address(RVA = "0x3104B0", Offset = "0x30F2B0", VA = "0x1803104B0")]
		private void Update()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002FAD RID: 12205 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002FAD")]
		[Address(RVA = "0x310220", Offset = "0x30F020", VA = "0x180310220")]
		private void SetTarget(Ray mouseRay)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002FAE RID: 12206 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002FAE")]
		[Address(RVA = "0x30FB30", Offset = "0x30E930", VA = "0x18030FB30")]
		private void CreatePath(Ray mouseRay)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002FAF RID: 12207 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002FAF")]
		[Address(RVA = "0x3100D0", Offset = "0x30EED0", VA = "0x1803100D0")]
		private void OnDrawGizmos()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002FB0 RID: 12208 RVA: 0x000657B4 File Offset: 0x000639B4
		[Token(Token = "0x6002FB0")]
		[Address(RVA = "0x310710", Offset = "0x30F510", VA = "0x180310710")]
		public PathAgent()
		{
			List<Vector3> list = new List();
			this.path = list;
			float z = Vector3.up.z;
			this.decalOffset.z = z;
			base..ctor();
		}

		// Token: 0x040039ED RID: 14829
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x40039ED")]
		public float PathThickness = 1f;

		// Token: 0x040039EE RID: 14830
		[FieldOffset(Offset = "0x1C")]
		[Token(Token = "0x40039EE")]
		[Tooltip("Distance from the ground.")]
		public float NormalPathOffset;

		// Token: 0x040039EF RID: 14831
		[FieldOffset(Offset = "0x20")]
		[Token(Token = "0x40039EF")]
		[Tooltip("Max radius between segments.")]
		[Range(0.001f, 0.5f)]
		public float Radius = 0.25f;

		// Token: 0x040039F0 RID: 14832
		[FieldOffset(Offset = "0x24")]
		[Token(Token = "0x40039F0")]
		[Tooltip("Discard segments when their angle is smaller than this value.")]
		public float AngleThreshold = 5f;

		// Token: 0x040039F1 RID: 14833
		[FieldOffset(Offset = "0x28")]
		[Token(Token = "0x40039F1")]
		public bool DrawGizmos;

		// Token: 0x040039F2 RID: 14834
		[FieldOffset(Offset = "0x30")]
		[Token(Token = "0x40039F2")]
		public EasyDecal TargetAimDecal;

		// Token: 0x040039F3 RID: 14835
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x40039F3")]
		public GameObject TargetPointDecalPrefab;

		// Token: 0x040039F4 RID: 14836
		[FieldOffset(Offset = "0x40")]
		[Token(Token = "0x40039F4")]
		private List<Vector3> path;

		// Token: 0x040039F5 RID: 14837
		[FieldOffset(Offset = "0x48")]
		[Token(Token = "0x40039F5")]
		private NavMeshAgent agent;

		// Token: 0x040039F6 RID: 14838
		[FieldOffset(Offset = "0x50")]
		[Token(Token = "0x40039F6")]
		private LineRenderer lineRenderer;

		// Token: 0x040039F7 RID: 14839
		[FieldOffset(Offset = "0x58")]
		[Token(Token = "0x40039F7")]
		private Vector3 decalOffset;

		// Token: 0x040039F8 RID: 14840
		[Token(Token = "0x40039F8")]
		private const int MAXDISTANCE = 50;
	}
}
