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

namespace ch.sycoforge.Decal.Demo
{
	// Token: 0x02000654 RID: 1620
	public class PathAgent : MonoBehaviour
	{
		// Token: 0x0600A6FC RID: 42748 RVA: 0x002AC9CC File Offset: 0x002AABCC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 655047, XrefRangeEnd = 655058, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Start()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(PathAgent.NativeMethodInfoPtr_Start_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600A6FD RID: 42749 RVA: 0x002ACA10 File Offset: 0x002AAC10
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 655058, XrefRangeEnd = 655074, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Update()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(PathAgent.NativeMethodInfoPtr_Update_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600A6FE RID: 42750 RVA: 0x002ACA54 File Offset: 0x002AAC54
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 655074, XrefRangeEnd = 655086, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void SetTarget(Ray mouseRay)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref mouseRay;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(PathAgent.NativeMethodInfoPtr_SetTarget_Private_Void_Ray_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x0600A6FF RID: 42751 RVA: 0x002ACAA8 File Offset: 0x002AACA8
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 655122, RefRangeEnd = 655123, XrefRangeStart = 655086, XrefRangeEnd = 655122, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void CreatePath(Ray mouseRay)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref mouseRay;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(PathAgent.NativeMethodInfoPtr_CreatePath_Private_Void_Ray_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x0600A700 RID: 42752 RVA: 0x002ACAFC File Offset: 0x002AACFC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 655123, XrefRangeEnd = 655140, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void OnDrawGizmos()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(PathAgent.NativeMethodInfoPtr_OnDrawGizmos_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600A701 RID: 42753 RVA: 0x002ACB40 File Offset: 0x002AAD40
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 655140, XrefRangeEnd = 655149, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe PathAgent()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<PathAgent>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(PathAgent.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600A702 RID: 42754 RVA: 0x002ACB8C File Offset: 0x002AAD8C
		// Note: this type is marked as 'beforefieldinit'.
		static PathAgent()
		{
			Il2CppClassPointerStore<PathAgent>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "ch.sycoforge.Decal.Demo", "PathAgent");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<PathAgent>.NativeClassPtr);
			PathAgent.NativeFieldInfoPtr_PathThickness = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<PathAgent>.NativeClassPtr, "PathThickness");
			PathAgent.NativeFieldInfoPtr_NormalPathOffset = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<PathAgent>.NativeClassPtr, "NormalPathOffset");
			PathAgent.NativeFieldInfoPtr_Radius = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<PathAgent>.NativeClassPtr, "Radius");
			PathAgent.NativeFieldInfoPtr_AngleThreshold = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<PathAgent>.NativeClassPtr, "AngleThreshold");
			PathAgent.NativeFieldInfoPtr_DrawGizmos = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<PathAgent>.NativeClassPtr, "DrawGizmos");
			PathAgent.NativeFieldInfoPtr_TargetAimDecal = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<PathAgent>.NativeClassPtr, "TargetAimDecal");
			PathAgent.NativeFieldInfoPtr_TargetPointDecalPrefab = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<PathAgent>.NativeClassPtr, "TargetPointDecalPrefab");
			PathAgent.NativeFieldInfoPtr_path = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<PathAgent>.NativeClassPtr, "path");
			PathAgent.NativeFieldInfoPtr_agent = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<PathAgent>.NativeClassPtr, "agent");
			PathAgent.NativeFieldInfoPtr_lineRenderer = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<PathAgent>.NativeClassPtr, "lineRenderer");
			PathAgent.NativeFieldInfoPtr_decalOffset = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<PathAgent>.NativeClassPtr, "decalOffset");
			PathAgent.NativeFieldInfoPtr_MAXDISTANCE = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<PathAgent>.NativeClassPtr, "MAXDISTANCE");
			PathAgent.NativeMethodInfoPtr_Start_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<PathAgent>.NativeClassPtr, 100676212);
			PathAgent.NativeMethodInfoPtr_Update_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<PathAgent>.NativeClassPtr, 100676213);
			PathAgent.NativeMethodInfoPtr_SetTarget_Private_Void_Ray_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<PathAgent>.NativeClassPtr, 100676214);
			PathAgent.NativeMethodInfoPtr_CreatePath_Private_Void_Ray_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<PathAgent>.NativeClassPtr, 100676215);
			PathAgent.NativeMethodInfoPtr_OnDrawGizmos_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<PathAgent>.NativeClassPtr, 100676216);
			PathAgent.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<PathAgent>.NativeClassPtr, 100676217);
		}

		// Token: 0x0600A703 RID: 42755 RVA: 0x0000351C File Offset: 0x0000171C
		public PathAgent(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x1700387C RID: 14460
		// (get) Token: 0x0600A704 RID: 42756 RVA: 0x002ACD24 File Offset: 0x002AAF24
		// (set) Token: 0x0600A705 RID: 42757 RVA: 0x002ACD4C File Offset: 0x002AAF4C
		public unsafe float PathThickness
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(PathAgent.NativeFieldInfoPtr_PathThickness);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(PathAgent.NativeFieldInfoPtr_PathThickness)) = value;
			}
		}

		// Token: 0x1700387D RID: 14461
		// (get) Token: 0x0600A706 RID: 42758 RVA: 0x002ACD70 File Offset: 0x002AAF70
		// (set) Token: 0x0600A707 RID: 42759 RVA: 0x002ACD98 File Offset: 0x002AAF98
		public unsafe float NormalPathOffset
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(PathAgent.NativeFieldInfoPtr_NormalPathOffset);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(PathAgent.NativeFieldInfoPtr_NormalPathOffset)) = value;
			}
		}

		// Token: 0x1700387E RID: 14462
		// (get) Token: 0x0600A708 RID: 42760 RVA: 0x002ACDBC File Offset: 0x002AAFBC
		// (set) Token: 0x0600A709 RID: 42761 RVA: 0x002ACDE4 File Offset: 0x002AAFE4
		public unsafe float Radius
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(PathAgent.NativeFieldInfoPtr_Radius);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(PathAgent.NativeFieldInfoPtr_Radius)) = value;
			}
		}

		// Token: 0x1700387F RID: 14463
		// (get) Token: 0x0600A70A RID: 42762 RVA: 0x002ACE08 File Offset: 0x002AB008
		// (set) Token: 0x0600A70B RID: 42763 RVA: 0x002ACE30 File Offset: 0x002AB030
		public unsafe float AngleThreshold
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(PathAgent.NativeFieldInfoPtr_AngleThreshold);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(PathAgent.NativeFieldInfoPtr_AngleThreshold)) = value;
			}
		}

		// Token: 0x17003880 RID: 14464
		// (get) Token: 0x0600A70C RID: 42764 RVA: 0x002ACE54 File Offset: 0x002AB054
		// (set) Token: 0x0600A70D RID: 42765 RVA: 0x002ACE7C File Offset: 0x002AB07C
		public unsafe bool DrawGizmos
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(PathAgent.NativeFieldInfoPtr_DrawGizmos);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(PathAgent.NativeFieldInfoPtr_DrawGizmos)) = value;
			}
		}

		// Token: 0x17003881 RID: 14465
		// (get) Token: 0x0600A70E RID: 42766 RVA: 0x002ACEA0 File Offset: 0x002AB0A0
		// (set) Token: 0x0600A70F RID: 42767 RVA: 0x002ACED4 File Offset: 0x002AB0D4
		public unsafe EasyDecal TargetAimDecal
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(PathAgent.NativeFieldInfoPtr_TargetAimDecal);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new EasyDecal(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(PathAgent.NativeFieldInfoPtr_TargetAimDecal), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17003882 RID: 14466
		// (get) Token: 0x0600A710 RID: 42768 RVA: 0x002ACEFC File Offset: 0x002AB0FC
		// (set) Token: 0x0600A711 RID: 42769 RVA: 0x002ACF30 File Offset: 0x002AB130
		public unsafe GameObject TargetPointDecalPrefab
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(PathAgent.NativeFieldInfoPtr_TargetPointDecalPrefab);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new GameObject(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(PathAgent.NativeFieldInfoPtr_TargetPointDecalPrefab), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17003883 RID: 14467
		// (get) Token: 0x0600A712 RID: 42770 RVA: 0x002ACF58 File Offset: 0x002AB158
		// (set) Token: 0x0600A713 RID: 42771 RVA: 0x002ACF8C File Offset: 0x002AB18C
		public unsafe List<Vector3> path
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(PathAgent.NativeFieldInfoPtr_path);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new List<Vector3>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(PathAgent.NativeFieldInfoPtr_path), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17003884 RID: 14468
		// (get) Token: 0x0600A714 RID: 42772 RVA: 0x002ACFB4 File Offset: 0x002AB1B4
		// (set) Token: 0x0600A715 RID: 42773 RVA: 0x002ACFE8 File Offset: 0x002AB1E8
		public unsafe NavMeshAgent agent
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(PathAgent.NativeFieldInfoPtr_agent);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new NavMeshAgent(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(PathAgent.NativeFieldInfoPtr_agent), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17003885 RID: 14469
		// (get) Token: 0x0600A716 RID: 42774 RVA: 0x002AD010 File Offset: 0x002AB210
		// (set) Token: 0x0600A717 RID: 42775 RVA: 0x002AD044 File Offset: 0x002AB244
		public unsafe LineRenderer lineRenderer
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(PathAgent.NativeFieldInfoPtr_lineRenderer);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new LineRenderer(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(PathAgent.NativeFieldInfoPtr_lineRenderer), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17003886 RID: 14470
		// (get) Token: 0x0600A718 RID: 42776 RVA: 0x002AD06C File Offset: 0x002AB26C
		// (set) Token: 0x0600A719 RID: 42777 RVA: 0x002AD094 File Offset: 0x002AB294
		public unsafe Vector3 decalOffset
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(PathAgent.NativeFieldInfoPtr_decalOffset);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(PathAgent.NativeFieldInfoPtr_decalOffset)) = value;
			}
		}

		// Token: 0x17003887 RID: 14471
		// (get) Token: 0x0600A71A RID: 42778 RVA: 0x002AD0B8 File Offset: 0x002AB2B8
		// (set) Token: 0x0600A71B RID: 42779 RVA: 0x002AD0D6 File Offset: 0x002AB2D6
		public unsafe static int MAXDISTANCE
		{
			get
			{
				int num;
				IL2CPP.il2cpp_field_static_get_value(PathAgent.NativeFieldInfoPtr_MAXDISTANCE, (void*)(&num));
				return num;
			}
			set
			{
				IL2CPP.il2cpp_field_static_set_value(PathAgent.NativeFieldInfoPtr_MAXDISTANCE, (void*)(&value));
			}
		}

		// Token: 0x04006FF0 RID: 28656
		private static readonly IntPtr NativeFieldInfoPtr_PathThickness;

		// Token: 0x04006FF1 RID: 28657
		private static readonly IntPtr NativeFieldInfoPtr_NormalPathOffset;

		// Token: 0x04006FF2 RID: 28658
		private static readonly IntPtr NativeFieldInfoPtr_Radius;

		// Token: 0x04006FF3 RID: 28659
		private static readonly IntPtr NativeFieldInfoPtr_AngleThreshold;

		// Token: 0x04006FF4 RID: 28660
		private static readonly IntPtr NativeFieldInfoPtr_DrawGizmos;

		// Token: 0x04006FF5 RID: 28661
		private static readonly IntPtr NativeFieldInfoPtr_TargetAimDecal;

		// Token: 0x04006FF6 RID: 28662
		private static readonly IntPtr NativeFieldInfoPtr_TargetPointDecalPrefab;

		// Token: 0x04006FF7 RID: 28663
		private static readonly IntPtr NativeFieldInfoPtr_path;

		// Token: 0x04006FF8 RID: 28664
		private static readonly IntPtr NativeFieldInfoPtr_agent;

		// Token: 0x04006FF9 RID: 28665
		private static readonly IntPtr NativeFieldInfoPtr_lineRenderer;

		// Token: 0x04006FFA RID: 28666
		private static readonly IntPtr NativeFieldInfoPtr_decalOffset;

		// Token: 0x04006FFB RID: 28667
		private static readonly IntPtr NativeFieldInfoPtr_MAXDISTANCE;

		// Token: 0x04006FFC RID: 28668
		private static readonly IntPtr NativeMethodInfoPtr_Start_Private_Void_0;

		// Token: 0x04006FFD RID: 28669
		private static readonly IntPtr NativeMethodInfoPtr_Update_Private_Void_0;

		// Token: 0x04006FFE RID: 28670
		private static readonly IntPtr NativeMethodInfoPtr_SetTarget_Private_Void_Ray_0;

		// Token: 0x04006FFF RID: 28671
		private static readonly IntPtr NativeMethodInfoPtr_CreatePath_Private_Void_Ray_0;

		// Token: 0x04007000 RID: 28672
		private static readonly IntPtr NativeMethodInfoPtr_OnDrawGizmos_Private_Void_0;

		// Token: 0x04007001 RID: 28673
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
