using System;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using UnityEngine;

namespace ch.sycoforge.Decal.Demo
{
	// Token: 0x02000652 RID: 1618
	public class Footprints : MonoBehaviour
	{
		// Token: 0x0600A6E7 RID: 42727 RVA: 0x002AC500 File Offset: 0x002AA700
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 654975, XrefRangeEnd = 654985, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Start()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Footprints.NativeMethodInfoPtr_Start_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600A6E8 RID: 42728 RVA: 0x002AC544 File Offset: 0x002AA744
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 654985, XrefRangeEnd = 655020, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Update()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Footprints.NativeMethodInfoPtr_Update_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600A6E9 RID: 42729 RVA: 0x002AC588 File Offset: 0x002AA788
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 655020, XrefRangeEnd = 655021, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe Footprints()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<Footprints>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Footprints.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600A6EA RID: 42730 RVA: 0x002AC5D4 File Offset: 0x002AA7D4
		// Note: this type is marked as 'beforefieldinit'.
		static Footprints()
		{
			Il2CppClassPointerStore<Footprints>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "ch.sycoforge.Decal.Demo", "Footprints");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<Footprints>.NativeClassPtr);
			Footprints.NativeFieldInfoPtr_DecalPrefab = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Footprints>.NativeClassPtr, "DecalPrefab");
			Footprints.NativeFieldInfoPtr_DistanceThreshold = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Footprints>.NativeClassPtr, "DistanceThreshold");
			Footprints.NativeFieldInfoPtr_FootDistance = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Footprints>.NativeClassPtr, "FootDistance");
			Footprints.NativeFieldInfoPtr_distance = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Footprints>.NativeClassPtr, "distance");
			Footprints.NativeFieldInfoPtr_index = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Footprints>.NativeClassPtr, "index");
			Footprints.NativeFieldInfoPtr_lastPosition = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Footprints>.NativeClassPtr, "lastPosition");
			Footprints.NativeMethodInfoPtr_Start_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Footprints>.NativeClassPtr, 100676207);
			Footprints.NativeMethodInfoPtr_Update_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Footprints>.NativeClassPtr, 100676208);
			Footprints.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Footprints>.NativeClassPtr, 100676209);
		}

		// Token: 0x0600A6EB RID: 42731 RVA: 0x0000351C File Offset: 0x0000171C
		public Footprints(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17003876 RID: 14454
		// (get) Token: 0x0600A6EC RID: 42732 RVA: 0x002AC6B8 File Offset: 0x002AA8B8
		// (set) Token: 0x0600A6ED RID: 42733 RVA: 0x002AC6EC File Offset: 0x002AA8EC
		public unsafe EasyDecal DecalPrefab
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Footprints.NativeFieldInfoPtr_DecalPrefab);
				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(Footprints.NativeFieldInfoPtr_DecalPrefab), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17003877 RID: 14455
		// (get) Token: 0x0600A6EE RID: 42734 RVA: 0x002AC714 File Offset: 0x002AA914
		// (set) Token: 0x0600A6EF RID: 42735 RVA: 0x002AC73C File Offset: 0x002AA93C
		public unsafe float DistanceThreshold
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Footprints.NativeFieldInfoPtr_DistanceThreshold);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Footprints.NativeFieldInfoPtr_DistanceThreshold)) = value;
			}
		}

		// Token: 0x17003878 RID: 14456
		// (get) Token: 0x0600A6F0 RID: 42736 RVA: 0x002AC760 File Offset: 0x002AA960
		// (set) Token: 0x0600A6F1 RID: 42737 RVA: 0x002AC788 File Offset: 0x002AA988
		public unsafe float FootDistance
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Footprints.NativeFieldInfoPtr_FootDistance);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Footprints.NativeFieldInfoPtr_FootDistance)) = value;
			}
		}

		// Token: 0x17003879 RID: 14457
		// (get) Token: 0x0600A6F2 RID: 42738 RVA: 0x002AC7AC File Offset: 0x002AA9AC
		// (set) Token: 0x0600A6F3 RID: 42739 RVA: 0x002AC7D4 File Offset: 0x002AA9D4
		public unsafe float distance
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Footprints.NativeFieldInfoPtr_distance);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Footprints.NativeFieldInfoPtr_distance)) = value;
			}
		}

		// Token: 0x1700387A RID: 14458
		// (get) Token: 0x0600A6F4 RID: 42740 RVA: 0x002AC7F8 File Offset: 0x002AA9F8
		// (set) Token: 0x0600A6F5 RID: 42741 RVA: 0x002AC820 File Offset: 0x002AAA20
		public unsafe int index
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Footprints.NativeFieldInfoPtr_index);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Footprints.NativeFieldInfoPtr_index)) = value;
			}
		}

		// Token: 0x1700387B RID: 14459
		// (get) Token: 0x0600A6F6 RID: 42742 RVA: 0x002AC844 File Offset: 0x002AAA44
		// (set) Token: 0x0600A6F7 RID: 42743 RVA: 0x002AC86C File Offset: 0x002AAA6C
		public unsafe Vector3 lastPosition
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Footprints.NativeFieldInfoPtr_lastPosition);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Footprints.NativeFieldInfoPtr_lastPosition)) = value;
			}
		}

		// Token: 0x04006FE5 RID: 28645
		private static readonly IntPtr NativeFieldInfoPtr_DecalPrefab;

		// Token: 0x04006FE6 RID: 28646
		private static readonly IntPtr NativeFieldInfoPtr_DistanceThreshold;

		// Token: 0x04006FE7 RID: 28647
		private static readonly IntPtr NativeFieldInfoPtr_FootDistance;

		// Token: 0x04006FE8 RID: 28648
		private static readonly IntPtr NativeFieldInfoPtr_distance;

		// Token: 0x04006FE9 RID: 28649
		private static readonly IntPtr NativeFieldInfoPtr_index;

		// Token: 0x04006FEA RID: 28650
		private static readonly IntPtr NativeFieldInfoPtr_lastPosition;

		// Token: 0x04006FEB RID: 28651
		private static readonly IntPtr NativeMethodInfoPtr_Start_Public_Void_0;

		// Token: 0x04006FEC RID: 28652
		private static readonly IntPtr NativeMethodInfoPtr_Update_Public_Void_0;

		// Token: 0x04006FED RID: 28653
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
