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

namespace ch.sycoforge.Decal.Demo
{
	// Token: 0x020005FC RID: 1532
	public class PathAgent : MonoBehaviour
	{
		// Token: 0x06009EA9 RID: 40617 RVA: 0x00289C90 File Offset: 0x00287E90
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 622745, XrefRangeEnd = 622756, 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: 0x06009EAA RID: 40618 RVA: 0x00289CD4 File Offset: 0x00287ED4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 622756, XrefRangeEnd = 622772, 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: 0x06009EAB RID: 40619 RVA: 0x00289D18 File Offset: 0x00287F18
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 622772, XrefRangeEnd = 622784, 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: 0x06009EAC RID: 40620 RVA: 0x00289D6C File Offset: 0x00287F6C
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 622820, RefRangeEnd = 622821, XrefRangeStart = 622784, XrefRangeEnd = 622820, 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: 0x06009EAD RID: 40621 RVA: 0x00289DC0 File Offset: 0x00287FC0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 622821, XrefRangeEnd = 622838, 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: 0x06009EAE RID: 40622 RVA: 0x00289E04 File Offset: 0x00288004
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 622838, XrefRangeEnd = 622847, 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: 0x06009EAF RID: 40623 RVA: 0x00289E50 File Offset: 0x00288050
		// 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, 100675499);
			PathAgent.NativeMethodInfoPtr_Update_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<PathAgent>.NativeClassPtr, 100675500);
			PathAgent.NativeMethodInfoPtr_SetTarget_Private_Void_Ray_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<PathAgent>.NativeClassPtr, 100675501);
			PathAgent.NativeMethodInfoPtr_CreatePath_Private_Void_Ray_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<PathAgent>.NativeClassPtr, 100675502);
			PathAgent.NativeMethodInfoPtr_OnDrawGizmos_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<PathAgent>.NativeClassPtr, 100675503);
			PathAgent.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<PathAgent>.NativeClassPtr, 100675504);
		}

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

		// Token: 0x170035E1 RID: 13793
		// (get) Token: 0x06009EB1 RID: 40625 RVA: 0x00289FE8 File Offset: 0x002881E8
		// (set) Token: 0x06009EB2 RID: 40626 RVA: 0x0028A010 File Offset: 0x00288210
		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: 0x170035E2 RID: 13794
		// (get) Token: 0x06009EB3 RID: 40627 RVA: 0x0028A034 File Offset: 0x00288234
		// (set) Token: 0x06009EB4 RID: 40628 RVA: 0x0028A05C File Offset: 0x0028825C
		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: 0x170035E3 RID: 13795
		// (get) Token: 0x06009EB5 RID: 40629 RVA: 0x0028A080 File Offset: 0x00288280
		// (set) Token: 0x06009EB6 RID: 40630 RVA: 0x0028A0A8 File Offset: 0x002882A8
		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: 0x170035E4 RID: 13796
		// (get) Token: 0x06009EB7 RID: 40631 RVA: 0x0028A0CC File Offset: 0x002882CC
		// (set) Token: 0x06009EB8 RID: 40632 RVA: 0x0028A0F4 File Offset: 0x002882F4
		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: 0x170035E5 RID: 13797
		// (get) Token: 0x06009EB9 RID: 40633 RVA: 0x0028A118 File Offset: 0x00288318
		// (set) Token: 0x06009EBA RID: 40634 RVA: 0x0028A140 File Offset: 0x00288340
		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: 0x170035E6 RID: 13798
		// (get) Token: 0x06009EBB RID: 40635 RVA: 0x0028A164 File Offset: 0x00288364
		// (set) Token: 0x06009EBC RID: 40636 RVA: 0x0028A198 File Offset: 0x00288398
		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: 0x170035E7 RID: 13799
		// (get) Token: 0x06009EBD RID: 40637 RVA: 0x0028A1C0 File Offset: 0x002883C0
		// (set) Token: 0x06009EBE RID: 40638 RVA: 0x0028A1F4 File Offset: 0x002883F4
		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: 0x170035E8 RID: 13800
		// (get) Token: 0x06009EBF RID: 40639 RVA: 0x0028A21C File Offset: 0x0028841C
		// (set) Token: 0x06009EC0 RID: 40640 RVA: 0x0028A250 File Offset: 0x00288450
		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: 0x170035E9 RID: 13801
		// (get) Token: 0x06009EC1 RID: 40641 RVA: 0x0028A278 File Offset: 0x00288478
		// (set) Token: 0x06009EC2 RID: 40642 RVA: 0x0028A2AC File Offset: 0x002884AC
		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: 0x170035EA RID: 13802
		// (get) Token: 0x06009EC3 RID: 40643 RVA: 0x0028A2D4 File Offset: 0x002884D4
		// (set) Token: 0x06009EC4 RID: 40644 RVA: 0x0028A308 File Offset: 0x00288508
		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: 0x170035EB RID: 13803
		// (get) Token: 0x06009EC5 RID: 40645 RVA: 0x0028A330 File Offset: 0x00288530
		// (set) Token: 0x06009EC6 RID: 40646 RVA: 0x0028A358 File Offset: 0x00288558
		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: 0x170035EC RID: 13804
		// (get) Token: 0x06009EC7 RID: 40647 RVA: 0x0028A37C File Offset: 0x0028857C
		// (set) Token: 0x06009EC8 RID: 40648 RVA: 0x0028A39A File Offset: 0x0028859A
		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: 0x04006A47 RID: 27207
		private static readonly IntPtr NativeFieldInfoPtr_PathThickness;

		// Token: 0x04006A48 RID: 27208
		private static readonly IntPtr NativeFieldInfoPtr_NormalPathOffset;

		// Token: 0x04006A49 RID: 27209
		private static readonly IntPtr NativeFieldInfoPtr_Radius;

		// Token: 0x04006A4A RID: 27210
		private static readonly IntPtr NativeFieldInfoPtr_AngleThreshold;

		// Token: 0x04006A4B RID: 27211
		private static readonly IntPtr NativeFieldInfoPtr_DrawGizmos;

		// Token: 0x04006A4C RID: 27212
		private static readonly IntPtr NativeFieldInfoPtr_TargetAimDecal;

		// Token: 0x04006A4D RID: 27213
		private static readonly IntPtr NativeFieldInfoPtr_TargetPointDecalPrefab;

		// Token: 0x04006A4E RID: 27214
		private static readonly IntPtr NativeFieldInfoPtr_path;

		// Token: 0x04006A4F RID: 27215
		private static readonly IntPtr NativeFieldInfoPtr_agent;

		// Token: 0x04006A50 RID: 27216
		private static readonly IntPtr NativeFieldInfoPtr_lineRenderer;

		// Token: 0x04006A51 RID: 27217
		private static readonly IntPtr NativeFieldInfoPtr_decalOffset;

		// Token: 0x04006A52 RID: 27218
		private static readonly IntPtr NativeFieldInfoPtr_MAXDISTANCE;

		// Token: 0x04006A53 RID: 27219
		private static readonly IntPtr NativeMethodInfoPtr_Start_Private_Void_0;

		// Token: 0x04006A54 RID: 27220
		private static readonly IntPtr NativeMethodInfoPtr_Update_Private_Void_0;

		// Token: 0x04006A55 RID: 27221
		private static readonly IntPtr NativeMethodInfoPtr_SetTarget_Private_Void_Ray_0;

		// Token: 0x04006A56 RID: 27222
		private static readonly IntPtr NativeMethodInfoPtr_CreatePath_Private_Void_Ray_0;

		// Token: 0x04006A57 RID: 27223
		private static readonly IntPtr NativeMethodInfoPtr_OnDrawGizmos_Private_Void_0;

		// Token: 0x04006A58 RID: 27224
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
