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

namespace ch.sycoforge.Decal.Demo
{
	// Token: 0x0200063B RID: 1595
	[Token(Token = "0x200063B")]
	[RequireComponent(typeof(LineRenderer))]
	[RequireComponent(typeof(NavMeshAgent))]
	public class PathAgent : MonoBehaviour
	{
		// Token: 0x06003274 RID: 12916 RVA: 0x0006CA40 File Offset: 0x0006AC40
		[Token(Token = "0x6003274")]
		[Address(RVA = "0x330D90", Offset = "0x32FD90", VA = "0x180330D90")]
		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: 0x06003275 RID: 12917 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6003275")]
		[Address(RVA = "0x330E30", Offset = "0x32FE30", VA = "0x180330E30")]
		private void Update()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06003276 RID: 12918 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6003276")]
		[Address(RVA = "0x330BA0", Offset = "0x32FBA0", VA = "0x180330BA0")]
		private void SetTarget(Ray mouseRay)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06003277 RID: 12919 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6003277")]
		[Address(RVA = "0x3304B0", Offset = "0x32F4B0", VA = "0x1803304B0")]
		private void CreatePath(Ray mouseRay)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06003278 RID: 12920 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6003278")]
		[Address(RVA = "0x330A50", Offset = "0x32FA50", VA = "0x180330A50")]
		private void OnDrawGizmos()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06003279 RID: 12921 RVA: 0x0006CA84 File Offset: 0x0006AC84
		[Token(Token = "0x6003279")]
		[Address(RVA = "0x331090", Offset = "0x330090", VA = "0x180331090")]
		public PathAgent()
		{
			List<Vector3> list = new List();
			this.path = list;
			float z = Vector3.up.z;
			this.decalOffset.z = z;
			base..ctor();
		}

		// Token: 0x04003CD7 RID: 15575
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4003CD7")]
		public float PathThickness = 1f;

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

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

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

		// Token: 0x04003CDB RID: 15579
		[FieldOffset(Offset = "0x28")]
		[Token(Token = "0x4003CDB")]
		public bool DrawGizmos;

		// Token: 0x04003CDC RID: 15580
		[FieldOffset(Offset = "0x30")]
		[Token(Token = "0x4003CDC")]
		public EasyDecal TargetAimDecal;

		// Token: 0x04003CDD RID: 15581
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x4003CDD")]
		public GameObject TargetPointDecalPrefab;

		// Token: 0x04003CDE RID: 15582
		[FieldOffset(Offset = "0x40")]
		[Token(Token = "0x4003CDE")]
		private List<Vector3> path;

		// Token: 0x04003CDF RID: 15583
		[FieldOffset(Offset = "0x48")]
		[Token(Token = "0x4003CDF")]
		private NavMeshAgent agent;

		// Token: 0x04003CE0 RID: 15584
		[FieldOffset(Offset = "0x50")]
		[Token(Token = "0x4003CE0")]
		private LineRenderer lineRenderer;

		// Token: 0x04003CE1 RID: 15585
		[FieldOffset(Offset = "0x58")]
		[Token(Token = "0x4003CE1")]
		private Vector3 decalOffset;

		// Token: 0x04003CE2 RID: 15586
		[Token(Token = "0x4003CE2")]
		private const int MAXDISTANCE = 50;
	}
}
