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

namespace XftWeapon
{
	// Token: 0x02000391 RID: 913
	public class XWeaponTrail : MonoBehaviour
	{
		// Token: 0x170027C2 RID: 10178
		// (get) Token: 0x060073BB RID: 29627 RVA: 0x001D7B9C File Offset: 0x001D5D9C
		public unsafe float UpdateInterval
		{
			[CallerCount(0)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.NativeMethodInfoPtr_get_UpdateInterval_Public_get_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x170027C3 RID: 10179
		// (get) Token: 0x060073BC RID: 29628 RVA: 0x001D7BEC File Offset: 0x001D5DEC
		public unsafe Vector3 CurHeadPos
		{
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 587552, XrefRangeEnd = 587554, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.NativeMethodInfoPtr_get_CurHeadPos_Public_get_Vector3_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x170027C4 RID: 10180
		// (get) Token: 0x060073BD RID: 29629 RVA: 0x001D7C3C File Offset: 0x001D5E3C
		public unsafe float TrailWidth
		{
			[CallerCount(0)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.NativeMethodInfoPtr_get_TrailWidth_Public_get_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x060073BE RID: 29630 RVA: 0x001D7C8C File Offset: 0x001D5E8C
		[CallerCount(10)]
		[CachedScanResults(RefRangeStart = 587595, RefRangeEnd = 587605, XrefRangeStart = 587554, XrefRangeEnd = 587595, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Init()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.NativeMethodInfoPtr_Init_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060073BF RID: 29631 RVA: 0x001D7CD0 File Offset: 0x001D5ED0
		[CallerCount(13)]
		[CachedScanResults(RefRangeStart = 587625, RefRangeEnd = 587638, XrefRangeStart = 587605, XrefRangeEnd = 587625, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Activate()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.NativeMethodInfoPtr_Activate_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060073C0 RID: 29632 RVA: 0x001D7D14 File Offset: 0x001D5F14
		[CallerCount(12)]
		[CachedScanResults(RefRangeStart = 587642, RefRangeEnd = 587654, XrefRangeStart = 587638, XrefRangeEnd = 587642, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Deactivate()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.NativeMethodInfoPtr_Deactivate_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060073C1 RID: 29633 RVA: 0x001D7D58 File Offset: 0x001D5F58
		[CallerCount(16)]
		[CachedScanResults(RefRangeStart = 587654, RefRangeEnd = 587670, XrefRangeStart = 587654, XrefRangeEnd = 587654, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void StopSmoothly(float fadeTime)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref fadeTime;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.NativeMethodInfoPtr_StopSmoothly_Public_Void_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x060073C2 RID: 29634 RVA: 0x001D7DAC File Offset: 0x001D5FAC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 587670, XrefRangeEnd = 587671, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void OnEnable()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.NativeMethodInfoPtr_OnEnable_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060073C3 RID: 29635 RVA: 0x001D7DF0 File Offset: 0x001D5FF0
		[CallerCount(12)]
		[CachedScanResults(RefRangeStart = 587642, RefRangeEnd = 587654, XrefRangeStart = 587642, XrefRangeEnd = 587654, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void OnDisable()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.NativeMethodInfoPtr_OnDisable_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060073C4 RID: 29636 RVA: 0x001D7E34 File Offset: 0x001D6034
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 587671, XrefRangeEnd = 587697, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Update()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.NativeMethodInfoPtr_Update_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060073C5 RID: 29637 RVA: 0x001D7E78 File Offset: 0x001D6078
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 587697, XrefRangeEnd = 587698, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void LateUpdate()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.NativeMethodInfoPtr_LateUpdate_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060073C6 RID: 29638 RVA: 0x001D7EBC File Offset: 0x001D60BC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 587698, XrefRangeEnd = 587699, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void OnDestroy()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.NativeMethodInfoPtr_OnDestroy_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060073C7 RID: 29639 RVA: 0x001D7F00 File Offset: 0x001D6100
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 587699, XrefRangeEnd = 587700, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Start()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.NativeMethodInfoPtr_Start_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060073C8 RID: 29640 RVA: 0x001D7F44 File Offset: 0x001D6144
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 587700, XrefRangeEnd = 587720, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void OnDrawGizmos()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.NativeMethodInfoPtr_OnDrawGizmos_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060073C9 RID: 29641 RVA: 0x001D7F88 File Offset: 0x001D6188
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 587720, XrefRangeEnd = 587726, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void InitSpline()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.NativeMethodInfoPtr_InitSpline_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060073CA RID: 29642 RVA: 0x001D7FCC File Offset: 0x001D61CC
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 587738, RefRangeEnd = 587740, XrefRangeStart = 587726, XrefRangeEnd = 587738, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void RefreshSpline()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.NativeMethodInfoPtr_RefreshSpline_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060073CB RID: 29643 RVA: 0x001D8010 File Offset: 0x001D6210
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 587745, RefRangeEnd = 587747, XrefRangeStart = 587740, XrefRangeEnd = 587745, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void UpdateVertex()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.NativeMethodInfoPtr_UpdateVertex_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060073CC RID: 29644 RVA: 0x001D8054 File Offset: 0x001D6254
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 587748, RefRangeEnd = 587750, XrefRangeStart = 587747, XrefRangeEnd = 587748, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void UpdateIndices()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.NativeMethodInfoPtr_UpdateIndices_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060073CD RID: 29645 RVA: 0x001D8098 File Offset: 0x001D6298
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 587750, XrefRangeEnd = 587755, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void UpdateHeadElem()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.NativeMethodInfoPtr_UpdateHeadElem_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060073CE RID: 29646 RVA: 0x001D80DC File Offset: 0x001D62DC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 587755, XrefRangeEnd = 587759, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void UpdateFade()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.NativeMethodInfoPtr_UpdateFade_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060073CF RID: 29647 RVA: 0x001D8120 File Offset: 0x001D6320
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 587759, XrefRangeEnd = 587775, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void RecordCurElem()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.NativeMethodInfoPtr_RecordCurElem_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060073D0 RID: 29648 RVA: 0x001D8164 File Offset: 0x001D6364
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 587775, XrefRangeEnd = 587795, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void InitOriginalElements()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.NativeMethodInfoPtr_InitOriginalElements_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060073D1 RID: 29649 RVA: 0x001D81A8 File Offset: 0x001D63A8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 587795, XrefRangeEnd = 587804, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void InitMeshObj()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.NativeMethodInfoPtr_InitMeshObj_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060073D2 RID: 29650 RVA: 0x001D81EC File Offset: 0x001D63EC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 587804, XrefRangeEnd = 587823, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe XWeaponTrail()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060073D3 RID: 29651 RVA: 0x001D8238 File Offset: 0x001D6438
		// Note: this type is marked as 'beforefieldinit'.
		static XWeaponTrail()
		{
			Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "XftWeapon", "XWeaponTrail");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr);
			XWeaponTrail.NativeFieldInfoPtr_Version = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "Version");
			XWeaponTrail.NativeFieldInfoPtr_UseWith2D = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "UseWith2D");
			XWeaponTrail.NativeFieldInfoPtr_SortingLayerName = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "SortingLayerName");
			XWeaponTrail.NativeFieldInfoPtr_SortingOrder = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "SortingOrder");
			XWeaponTrail.NativeFieldInfoPtr_PointStart = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "PointStart");
			XWeaponTrail.NativeFieldInfoPtr_PointEnd = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "PointEnd");
			XWeaponTrail.NativeFieldInfoPtr_MaxFrame = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "MaxFrame");
			XWeaponTrail.NativeFieldInfoPtr_Granularity = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "Granularity");
			XWeaponTrail.NativeFieldInfoPtr_Fps = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "Fps");
			XWeaponTrail.NativeFieldInfoPtr_MyColor = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "MyColor");
			XWeaponTrail.NativeFieldInfoPtr_MyMaterial = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "MyMaterial");
			XWeaponTrail.NativeFieldInfoPtr_mTrailWidth = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "mTrailWidth");
			XWeaponTrail.NativeFieldInfoPtr_mHeadElem = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "mHeadElem");
			XWeaponTrail.NativeFieldInfoPtr_mSnapshotList = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "mSnapshotList");
			XWeaponTrail.NativeFieldInfoPtr_mElemPool = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "mElemPool");
			XWeaponTrail.NativeFieldInfoPtr_mSpline = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "mSpline");
			XWeaponTrail.NativeFieldInfoPtr_mFadeT = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "mFadeT");
			XWeaponTrail.NativeFieldInfoPtr_mIsFading = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "mIsFading");
			XWeaponTrail.NativeFieldInfoPtr_mFadeTime = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "mFadeTime");
			XWeaponTrail.NativeFieldInfoPtr_mElapsedTime = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "mElapsedTime");
			XWeaponTrail.NativeFieldInfoPtr_mFadeElapsedime = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "mFadeElapsedime");
			XWeaponTrail.NativeFieldInfoPtr_mMeshObj = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "mMeshObj");
			XWeaponTrail.NativeFieldInfoPtr_mVertexPool = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "mVertexPool");
			XWeaponTrail.NativeFieldInfoPtr_mVertexSegment = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "mVertexSegment");
			XWeaponTrail.NativeFieldInfoPtr_mInited = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "mInited");
			XWeaponTrail.NativeFieldInfoPtr_mActivated = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "mActivated");
			XWeaponTrail.NativeMethodInfoPtr_get_UpdateInterval_Public_get_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, 100672001);
			XWeaponTrail.NativeMethodInfoPtr_get_CurHeadPos_Public_get_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, 100672002);
			XWeaponTrail.NativeMethodInfoPtr_get_TrailWidth_Public_get_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, 100672003);
			XWeaponTrail.NativeMethodInfoPtr_Init_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, 100672004);
			XWeaponTrail.NativeMethodInfoPtr_Activate_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, 100672005);
			XWeaponTrail.NativeMethodInfoPtr_Deactivate_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, 100672006);
			XWeaponTrail.NativeMethodInfoPtr_StopSmoothly_Public_Void_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, 100672007);
			XWeaponTrail.NativeMethodInfoPtr_OnEnable_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, 100672008);
			XWeaponTrail.NativeMethodInfoPtr_OnDisable_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, 100672009);
			XWeaponTrail.NativeMethodInfoPtr_Update_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, 100672010);
			XWeaponTrail.NativeMethodInfoPtr_LateUpdate_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, 100672011);
			XWeaponTrail.NativeMethodInfoPtr_OnDestroy_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, 100672012);
			XWeaponTrail.NativeMethodInfoPtr_Start_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, 100672013);
			XWeaponTrail.NativeMethodInfoPtr_OnDrawGizmos_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, 100672014);
			XWeaponTrail.NativeMethodInfoPtr_InitSpline_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, 100672015);
			XWeaponTrail.NativeMethodInfoPtr_RefreshSpline_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, 100672016);
			XWeaponTrail.NativeMethodInfoPtr_UpdateVertex_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, 100672017);
			XWeaponTrail.NativeMethodInfoPtr_UpdateIndices_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, 100672018);
			XWeaponTrail.NativeMethodInfoPtr_UpdateHeadElem_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, 100672019);
			XWeaponTrail.NativeMethodInfoPtr_UpdateFade_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, 100672020);
			XWeaponTrail.NativeMethodInfoPtr_RecordCurElem_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, 100672021);
			XWeaponTrail.NativeMethodInfoPtr_InitOriginalElements_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, 100672022);
			XWeaponTrail.NativeMethodInfoPtr_InitMeshObj_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, 100672023);
			XWeaponTrail.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, 100672024);
		}

		// Token: 0x060073D4 RID: 29652 RVA: 0x0000351C File Offset: 0x0000171C
		public XWeaponTrail(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170027A8 RID: 10152
		// (get) Token: 0x060073D5 RID: 29653 RVA: 0x001D8650 File Offset: 0x001D6850
		// (set) Token: 0x060073D6 RID: 29654 RVA: 0x001D8670 File Offset: 0x001D6870
		public unsafe static string Version
		{
			get
			{
				IntPtr intPtr;
				IL2CPP.il2cpp_field_static_get_value(XWeaponTrail.NativeFieldInfoPtr_Version, (void*)(&intPtr));
				return IL2CPP.Il2CppStringToManaged(intPtr);
			}
			set
			{
				IL2CPP.il2cpp_field_static_set_value(XWeaponTrail.NativeFieldInfoPtr_Version, IL2CPP.ManagedStringToIl2Cpp(value));
			}
		}

		// Token: 0x170027A9 RID: 10153
		// (get) Token: 0x060073D7 RID: 29655 RVA: 0x001D8688 File Offset: 0x001D6888
		// (set) Token: 0x060073D8 RID: 29656 RVA: 0x001D86B0 File Offset: 0x001D68B0
		public unsafe bool UseWith2D
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_UseWith2D);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_UseWith2D)) = value;
			}
		}

		// Token: 0x170027AA RID: 10154
		// (get) Token: 0x060073D9 RID: 29657 RVA: 0x001D86D4 File Offset: 0x001D68D4
		// (set) Token: 0x060073DA RID: 29658 RVA: 0x001D86FD File Offset: 0x001D68FD
		public unsafe string SortingLayerName
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_SortingLayerName);
				return IL2CPP.Il2CppStringToManaged(*intPtr);
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_SortingLayerName), IL2CPP.ManagedStringToIl2Cpp(value));
			}
		}

		// Token: 0x170027AB RID: 10155
		// (get) Token: 0x060073DB RID: 29659 RVA: 0x001D8724 File Offset: 0x001D6924
		// (set) Token: 0x060073DC RID: 29660 RVA: 0x001D874C File Offset: 0x001D694C
		public unsafe int SortingOrder
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_SortingOrder);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_SortingOrder)) = value;
			}
		}

		// Token: 0x170027AC RID: 10156
		// (get) Token: 0x060073DD RID: 29661 RVA: 0x001D8770 File Offset: 0x001D6970
		// (set) Token: 0x060073DE RID: 29662 RVA: 0x001D87A4 File Offset: 0x001D69A4
		public unsafe Transform PointStart
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_PointStart);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Transform(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_PointStart), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170027AD RID: 10157
		// (get) Token: 0x060073DF RID: 29663 RVA: 0x001D87CC File Offset: 0x001D69CC
		// (set) Token: 0x060073E0 RID: 29664 RVA: 0x001D8800 File Offset: 0x001D6A00
		public unsafe Transform PointEnd
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_PointEnd);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Transform(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_PointEnd), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170027AE RID: 10158
		// (get) Token: 0x060073E1 RID: 29665 RVA: 0x001D8828 File Offset: 0x001D6A28
		// (set) Token: 0x060073E2 RID: 29666 RVA: 0x001D8850 File Offset: 0x001D6A50
		public unsafe int MaxFrame
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_MaxFrame);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_MaxFrame)) = value;
			}
		}

		// Token: 0x170027AF RID: 10159
		// (get) Token: 0x060073E3 RID: 29667 RVA: 0x001D8874 File Offset: 0x001D6A74
		// (set) Token: 0x060073E4 RID: 29668 RVA: 0x001D889C File Offset: 0x001D6A9C
		public unsafe int Granularity
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_Granularity);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_Granularity)) = value;
			}
		}

		// Token: 0x170027B0 RID: 10160
		// (get) Token: 0x060073E5 RID: 29669 RVA: 0x001D88C0 File Offset: 0x001D6AC0
		// (set) Token: 0x060073E6 RID: 29670 RVA: 0x001D88E8 File Offset: 0x001D6AE8
		public unsafe float Fps
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_Fps);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_Fps)) = value;
			}
		}

		// Token: 0x170027B1 RID: 10161
		// (get) Token: 0x060073E7 RID: 29671 RVA: 0x001D890C File Offset: 0x001D6B0C
		// (set) Token: 0x060073E8 RID: 29672 RVA: 0x001D8934 File Offset: 0x001D6B34
		public unsafe Color MyColor
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_MyColor);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_MyColor)) = value;
			}
		}

		// Token: 0x170027B2 RID: 10162
		// (get) Token: 0x060073E9 RID: 29673 RVA: 0x001D8958 File Offset: 0x001D6B58
		// (set) Token: 0x060073EA RID: 29674 RVA: 0x001D898C File Offset: 0x001D6B8C
		public unsafe Material MyMaterial
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_MyMaterial);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Material(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_MyMaterial), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170027B3 RID: 10163
		// (get) Token: 0x060073EB RID: 29675 RVA: 0x001D89B4 File Offset: 0x001D6BB4
		// (set) Token: 0x060073EC RID: 29676 RVA: 0x001D89DC File Offset: 0x001D6BDC
		public unsafe float mTrailWidth
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mTrailWidth);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mTrailWidth)) = value;
			}
		}

		// Token: 0x170027B4 RID: 10164
		// (get) Token: 0x060073ED RID: 29677 RVA: 0x001D8A00 File Offset: 0x001D6C00
		// (set) Token: 0x060073EE RID: 29678 RVA: 0x001D8A34 File Offset: 0x001D6C34
		public unsafe XWeaponTrail.Element mHeadElem
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mHeadElem);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new XWeaponTrail.Element(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mHeadElem), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170027B5 RID: 10165
		// (get) Token: 0x060073EF RID: 29679 RVA: 0x001D8A5C File Offset: 0x001D6C5C
		// (set) Token: 0x060073F0 RID: 29680 RVA: 0x001D8A90 File Offset: 0x001D6C90
		public unsafe List<XWeaponTrail.Element> mSnapshotList
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mSnapshotList);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new List<XWeaponTrail.Element>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mSnapshotList), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170027B6 RID: 10166
		// (get) Token: 0x060073F1 RID: 29681 RVA: 0x001D8AB8 File Offset: 0x001D6CB8
		// (set) Token: 0x060073F2 RID: 29682 RVA: 0x001D8AEC File Offset: 0x001D6CEC
		public unsafe XWeaponTrail.ElementPool mElemPool
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mElemPool);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new XWeaponTrail.ElementPool(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mElemPool), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170027B7 RID: 10167
		// (get) Token: 0x060073F3 RID: 29683 RVA: 0x001D8B14 File Offset: 0x001D6D14
		// (set) Token: 0x060073F4 RID: 29684 RVA: 0x001D8B48 File Offset: 0x001D6D48
		public unsafe Spline mSpline
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mSpline);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Spline(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mSpline), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170027B8 RID: 10168
		// (get) Token: 0x060073F5 RID: 29685 RVA: 0x001D8B70 File Offset: 0x001D6D70
		// (set) Token: 0x060073F6 RID: 29686 RVA: 0x001D8B98 File Offset: 0x001D6D98
		public unsafe float mFadeT
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mFadeT);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mFadeT)) = value;
			}
		}

		// Token: 0x170027B9 RID: 10169
		// (get) Token: 0x060073F7 RID: 29687 RVA: 0x001D8BBC File Offset: 0x001D6DBC
		// (set) Token: 0x060073F8 RID: 29688 RVA: 0x001D8BE4 File Offset: 0x001D6DE4
		public unsafe bool mIsFading
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mIsFading);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mIsFading)) = value;
			}
		}

		// Token: 0x170027BA RID: 10170
		// (get) Token: 0x060073F9 RID: 29689 RVA: 0x001D8C08 File Offset: 0x001D6E08
		// (set) Token: 0x060073FA RID: 29690 RVA: 0x001D8C30 File Offset: 0x001D6E30
		public unsafe float mFadeTime
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mFadeTime);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mFadeTime)) = value;
			}
		}

		// Token: 0x170027BB RID: 10171
		// (get) Token: 0x060073FB RID: 29691 RVA: 0x001D8C54 File Offset: 0x001D6E54
		// (set) Token: 0x060073FC RID: 29692 RVA: 0x001D8C7C File Offset: 0x001D6E7C
		public unsafe float mElapsedTime
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mElapsedTime);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mElapsedTime)) = value;
			}
		}

		// Token: 0x170027BC RID: 10172
		// (get) Token: 0x060073FD RID: 29693 RVA: 0x001D8CA0 File Offset: 0x001D6EA0
		// (set) Token: 0x060073FE RID: 29694 RVA: 0x001D8CC8 File Offset: 0x001D6EC8
		public unsafe float mFadeElapsedime
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mFadeElapsedime);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mFadeElapsedime)) = value;
			}
		}

		// Token: 0x170027BD RID: 10173
		// (get) Token: 0x060073FF RID: 29695 RVA: 0x001D8CEC File Offset: 0x001D6EEC
		// (set) Token: 0x06007400 RID: 29696 RVA: 0x001D8D20 File Offset: 0x001D6F20
		public unsafe GameObject mMeshObj
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mMeshObj);
				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(XWeaponTrail.NativeFieldInfoPtr_mMeshObj), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170027BE RID: 10174
		// (get) Token: 0x06007401 RID: 29697 RVA: 0x001D8D48 File Offset: 0x001D6F48
		// (set) Token: 0x06007402 RID: 29698 RVA: 0x001D8D7C File Offset: 0x001D6F7C
		public unsafe VertexPool mVertexPool
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mVertexPool);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new VertexPool(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mVertexPool), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170027BF RID: 10175
		// (get) Token: 0x06007403 RID: 29699 RVA: 0x001D8DA4 File Offset: 0x001D6FA4
		// (set) Token: 0x06007404 RID: 29700 RVA: 0x001D8DD8 File Offset: 0x001D6FD8
		public unsafe VertexPool.VertexSegment mVertexSegment
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mVertexSegment);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new VertexPool.VertexSegment(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mVertexSegment), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170027C0 RID: 10176
		// (get) Token: 0x06007405 RID: 29701 RVA: 0x001D8E00 File Offset: 0x001D7000
		// (set) Token: 0x06007406 RID: 29702 RVA: 0x001D8E28 File Offset: 0x001D7028
		public unsafe bool mInited
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mInited);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mInited)) = value;
			}
		}

		// Token: 0x170027C1 RID: 10177
		// (get) Token: 0x06007407 RID: 29703 RVA: 0x001D8E4C File Offset: 0x001D704C
		// (set) Token: 0x06007408 RID: 29704 RVA: 0x001D8E74 File Offset: 0x001D7074
		public unsafe bool mActivated
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mActivated);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.NativeFieldInfoPtr_mActivated)) = value;
			}
		}

		// Token: 0x04004DA6 RID: 19878
		private static readonly IntPtr NativeFieldInfoPtr_Version;

		// Token: 0x04004DA7 RID: 19879
		private static readonly IntPtr NativeFieldInfoPtr_UseWith2D;

		// Token: 0x04004DA8 RID: 19880
		private static readonly IntPtr NativeFieldInfoPtr_SortingLayerName;

		// Token: 0x04004DA9 RID: 19881
		private static readonly IntPtr NativeFieldInfoPtr_SortingOrder;

		// Token: 0x04004DAA RID: 19882
		private static readonly IntPtr NativeFieldInfoPtr_PointStart;

		// Token: 0x04004DAB RID: 19883
		private static readonly IntPtr NativeFieldInfoPtr_PointEnd;

		// Token: 0x04004DAC RID: 19884
		private static readonly IntPtr NativeFieldInfoPtr_MaxFrame;

		// Token: 0x04004DAD RID: 19885
		private static readonly IntPtr NativeFieldInfoPtr_Granularity;

		// Token: 0x04004DAE RID: 19886
		private static readonly IntPtr NativeFieldInfoPtr_Fps;

		// Token: 0x04004DAF RID: 19887
		private static readonly IntPtr NativeFieldInfoPtr_MyColor;

		// Token: 0x04004DB0 RID: 19888
		private static readonly IntPtr NativeFieldInfoPtr_MyMaterial;

		// Token: 0x04004DB1 RID: 19889
		private static readonly IntPtr NativeFieldInfoPtr_mTrailWidth;

		// Token: 0x04004DB2 RID: 19890
		private static readonly IntPtr NativeFieldInfoPtr_mHeadElem;

		// Token: 0x04004DB3 RID: 19891
		private static readonly IntPtr NativeFieldInfoPtr_mSnapshotList;

		// Token: 0x04004DB4 RID: 19892
		private static readonly IntPtr NativeFieldInfoPtr_mElemPool;

		// Token: 0x04004DB5 RID: 19893
		private static readonly IntPtr NativeFieldInfoPtr_mSpline;

		// Token: 0x04004DB6 RID: 19894
		private static readonly IntPtr NativeFieldInfoPtr_mFadeT;

		// Token: 0x04004DB7 RID: 19895
		private static readonly IntPtr NativeFieldInfoPtr_mIsFading;

		// Token: 0x04004DB8 RID: 19896
		private static readonly IntPtr NativeFieldInfoPtr_mFadeTime;

		// Token: 0x04004DB9 RID: 19897
		private static readonly IntPtr NativeFieldInfoPtr_mElapsedTime;

		// Token: 0x04004DBA RID: 19898
		private static readonly IntPtr NativeFieldInfoPtr_mFadeElapsedime;

		// Token: 0x04004DBB RID: 19899
		private static readonly IntPtr NativeFieldInfoPtr_mMeshObj;

		// Token: 0x04004DBC RID: 19900
		private static readonly IntPtr NativeFieldInfoPtr_mVertexPool;

		// Token: 0x04004DBD RID: 19901
		private static readonly IntPtr NativeFieldInfoPtr_mVertexSegment;

		// Token: 0x04004DBE RID: 19902
		private static readonly IntPtr NativeFieldInfoPtr_mInited;

		// Token: 0x04004DBF RID: 19903
		private static readonly IntPtr NativeFieldInfoPtr_mActivated;

		// Token: 0x04004DC0 RID: 19904
		private static readonly IntPtr NativeMethodInfoPtr_get_UpdateInterval_Public_get_Single_0;

		// Token: 0x04004DC1 RID: 19905
		private static readonly IntPtr NativeMethodInfoPtr_get_CurHeadPos_Public_get_Vector3_0;

		// Token: 0x04004DC2 RID: 19906
		private static readonly IntPtr NativeMethodInfoPtr_get_TrailWidth_Public_get_Single_0;

		// Token: 0x04004DC3 RID: 19907
		private static readonly IntPtr NativeMethodInfoPtr_Init_Public_Void_0;

		// Token: 0x04004DC4 RID: 19908
		private static readonly IntPtr NativeMethodInfoPtr_Activate_Public_Void_0;

		// Token: 0x04004DC5 RID: 19909
		private static readonly IntPtr NativeMethodInfoPtr_Deactivate_Public_Void_0;

		// Token: 0x04004DC6 RID: 19910
		private static readonly IntPtr NativeMethodInfoPtr_StopSmoothly_Public_Void_Single_0;

		// Token: 0x04004DC7 RID: 19911
		private static readonly IntPtr NativeMethodInfoPtr_OnEnable_Private_Void_0;

		// Token: 0x04004DC8 RID: 19912
		private static readonly IntPtr NativeMethodInfoPtr_OnDisable_Private_Void_0;

		// Token: 0x04004DC9 RID: 19913
		private static readonly IntPtr NativeMethodInfoPtr_Update_Private_Void_0;

		// Token: 0x04004DCA RID: 19914
		private static readonly IntPtr NativeMethodInfoPtr_LateUpdate_Private_Void_0;

		// Token: 0x04004DCB RID: 19915
		private static readonly IntPtr NativeMethodInfoPtr_OnDestroy_Private_Void_0;

		// Token: 0x04004DCC RID: 19916
		private static readonly IntPtr NativeMethodInfoPtr_Start_Private_Void_0;

		// Token: 0x04004DCD RID: 19917
		private static readonly IntPtr NativeMethodInfoPtr_OnDrawGizmos_Private_Void_0;

		// Token: 0x04004DCE RID: 19918
		private static readonly IntPtr NativeMethodInfoPtr_InitSpline_Private_Void_0;

		// Token: 0x04004DCF RID: 19919
		private static readonly IntPtr NativeMethodInfoPtr_RefreshSpline_Private_Void_0;

		// Token: 0x04004DD0 RID: 19920
		private static readonly IntPtr NativeMethodInfoPtr_UpdateVertex_Private_Void_0;

		// Token: 0x04004DD1 RID: 19921
		private static readonly IntPtr NativeMethodInfoPtr_UpdateIndices_Private_Void_0;

		// Token: 0x04004DD2 RID: 19922
		private static readonly IntPtr NativeMethodInfoPtr_UpdateHeadElem_Private_Void_0;

		// Token: 0x04004DD3 RID: 19923
		private static readonly IntPtr NativeMethodInfoPtr_UpdateFade_Private_Void_0;

		// Token: 0x04004DD4 RID: 19924
		private static readonly IntPtr NativeMethodInfoPtr_RecordCurElem_Private_Void_0;

		// Token: 0x04004DD5 RID: 19925
		private static readonly IntPtr NativeMethodInfoPtr_InitOriginalElements_Private_Void_0;

		// Token: 0x04004DD6 RID: 19926
		private static readonly IntPtr NativeMethodInfoPtr_InitMeshObj_Private_Void_0;

		// Token: 0x04004DD7 RID: 19927
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x02000392 RID: 914
		public class Element : Il2CppSystem.Object
		{
			// Token: 0x170027C7 RID: 10183
			// (get) Token: 0x06007409 RID: 29705 RVA: 0x001D8E98 File Offset: 0x001D7098
			public unsafe Vector3 Pos
			{
				[CallerCount(2)]
				[CachedScanResults(RefRangeStart = 587504, RefRangeEnd = 587506, XrefRangeStart = 587504, XrefRangeEnd = 587504, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
				get
				{
					IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IntPtr* ptr = null;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.Element.NativeMethodInfoPtr_get_Pos_Public_get_Vector3_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
					return *IL2CPP.il2cpp_object_unbox(intPtr);
				}
			}

			// Token: 0x0600740A RID: 29706 RVA: 0x001D8EE8 File Offset: 0x001D70E8
			[CallerCount(4)]
			[CachedScanResults(RefRangeStart = 587507, RefRangeEnd = 587511, XrefRangeStart = 587506, XrefRangeEnd = 587507, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe Element(Vector3 start, Vector3 end)
				: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<XWeaponTrail.Element>.NativeClassPtr))
			{
				IntPtr* ptr;
				checked
				{
					ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
					*ptr = ref start;
				}
				ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref end;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.Element.NativeMethodInfoPtr__ctor_Public_Void_Vector3_Vector3_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x0600740B RID: 29707 RVA: 0x001D8F58 File Offset: 0x001D7158
			[CallerCount(1642)]
			[CachedScanResults(RefRangeStart = 7417, RefRangeEnd = 9059, XrefRangeStart = 7417, XrefRangeEnd = 9059, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe Element()
				: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<XWeaponTrail.Element>.NativeClassPtr))
			{
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.Element.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x0600740C RID: 29708 RVA: 0x001D8FA4 File Offset: 0x001D71A4
			// Note: this type is marked as 'beforefieldinit'.
			static Element()
			{
				Il2CppClassPointerStore<XWeaponTrail.Element>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "Element");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<XWeaponTrail.Element>.NativeClassPtr);
				XWeaponTrail.Element.NativeFieldInfoPtr_PointStart = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail.Element>.NativeClassPtr, "PointStart");
				XWeaponTrail.Element.NativeFieldInfoPtr_PointEnd = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail.Element>.NativeClassPtr, "PointEnd");
				XWeaponTrail.Element.NativeMethodInfoPtr_get_Pos_Public_get_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail.Element>.NativeClassPtr, 100672026);
				XWeaponTrail.Element.NativeMethodInfoPtr__ctor_Public_Void_Vector3_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail.Element>.NativeClassPtr, 100672027);
				XWeaponTrail.Element.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail.Element>.NativeClassPtr, 100672028);
			}

			// Token: 0x0600740D RID: 29709 RVA: 0x0000A688 File Offset: 0x00008888
			public Element(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x170027C5 RID: 10181
			// (get) Token: 0x0600740E RID: 29710 RVA: 0x001D9034 File Offset: 0x001D7234
			// (set) Token: 0x0600740F RID: 29711 RVA: 0x001D905C File Offset: 0x001D725C
			public unsafe Vector3 PointStart
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.Element.NativeFieldInfoPtr_PointStart);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.Element.NativeFieldInfoPtr_PointStart)) = value;
				}
			}

			// Token: 0x170027C6 RID: 10182
			// (get) Token: 0x06007410 RID: 29712 RVA: 0x001D9080 File Offset: 0x001D7280
			// (set) Token: 0x06007411 RID: 29713 RVA: 0x001D90A8 File Offset: 0x001D72A8
			public unsafe Vector3 PointEnd
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.Element.NativeFieldInfoPtr_PointEnd);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.Element.NativeFieldInfoPtr_PointEnd)) = value;
				}
			}

			// Token: 0x04004DD8 RID: 19928
			private static readonly IntPtr NativeFieldInfoPtr_PointStart;

			// Token: 0x04004DD9 RID: 19929
			private static readonly IntPtr NativeFieldInfoPtr_PointEnd;

			// Token: 0x04004DDA RID: 19930
			private static readonly IntPtr NativeMethodInfoPtr_get_Pos_Public_get_Vector3_0;

			// Token: 0x04004DDB RID: 19931
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Vector3_Vector3_0;

			// Token: 0x04004DDC RID: 19932
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
		}

		// Token: 0x02000393 RID: 915
		public class ElementPool : Il2CppSystem.Object
		{
			// Token: 0x170027CA RID: 10186
			// (get) Token: 0x06007412 RID: 29714 RVA: 0x001D90CC File Offset: 0x001D72CC
			// (set) Token: 0x06007413 RID: 29715 RVA: 0x001D911C File Offset: 0x001D731C
			public unsafe int CountAll
			{
				[CallerCount(0)]
				get
				{
					IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IntPtr* ptr = null;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.ElementPool.NativeMethodInfoPtr_get_CountAll_Public_get_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
					return *IL2CPP.il2cpp_object_unbox(intPtr);
				}
				[CallerCount(5)]
				[CachedScanResults(RefRangeStart = 9059, RefRangeEnd = 9064, XrefRangeStart = 9059, XrefRangeEnd = 9064, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
				set
				{
					IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					checked
					{
						IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
						*ptr = ref value;
						IntPtr intPtr2;
						IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.ElementPool.NativeMethodInfoPtr_set_CountAll_Private_set_Void_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
						Il2CppException.RaiseExceptionIfNecessary(intPtr2);
					}
				}
			}

			// Token: 0x170027CB RID: 10187
			// (get) Token: 0x06007414 RID: 29716 RVA: 0x001D9170 File Offset: 0x001D7370
			public unsafe int CountActive
			{
				[CallerCount(0)]
				[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 587511, XrefRangeEnd = 587512, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
				get
				{
					IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IntPtr* ptr = null;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.ElementPool.NativeMethodInfoPtr_get_CountActive_Public_get_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
					return *IL2CPP.il2cpp_object_unbox(intPtr);
				}
			}

			// Token: 0x170027CC RID: 10188
			// (get) Token: 0x06007415 RID: 29717 RVA: 0x001D91C0 File Offset: 0x001D73C0
			public unsafe int CountInactive
			{
				[CallerCount(0)]
				[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 587512, XrefRangeEnd = 587513, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
				get
				{
					IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IntPtr* ptr = null;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.ElementPool.NativeMethodInfoPtr_get_CountInactive_Public_get_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
					return *IL2CPP.il2cpp_object_unbox(intPtr);
				}
			}

			// Token: 0x06007416 RID: 29718 RVA: 0x001D9210 File Offset: 0x001D7410
			[CallerCount(1)]
			[CachedScanResults(RefRangeStart = 587528, RefRangeEnd = 587529, XrefRangeStart = 587513, XrefRangeEnd = 587528, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe ElementPool(int preCount)
				: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<XWeaponTrail.ElementPool>.NativeClassPtr))
			{
				checked
				{
					IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
					*ptr = ref preCount;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.ElementPool.NativeMethodInfoPtr__ctor_Public_Void_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				}
			}

			// Token: 0x06007417 RID: 29719 RVA: 0x001D9270 File Offset: 0x001D7470
			[CallerCount(2)]
			[CachedScanResults(RefRangeStart = 587534, RefRangeEnd = 587536, XrefRangeStart = 587529, XrefRangeEnd = 587534, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe XWeaponTrail.Element Get()
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.ElementPool.NativeMethodInfoPtr_Get_Public_Element_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new XWeaponTrail.Element(intPtr3) : null;
			}

			// Token: 0x06007418 RID: 29720 RVA: 0x001D92C8 File Offset: 0x001D74C8
			[CallerCount(2)]
			[CachedScanResults(RefRangeStart = 587550, RefRangeEnd = 587552, XrefRangeStart = 587536, XrefRangeEnd = 587550, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe void Release(XWeaponTrail.Element element)
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				checked
				{
					IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
					*ptr = IL2CPP.Il2CppObjectBaseToPtr(element);
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(XWeaponTrail.ElementPool.NativeMethodInfoPtr_Release_Public_Void_Element_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				}
			}

			// Token: 0x06007419 RID: 29721 RVA: 0x001D9324 File Offset: 0x001D7524
			// Note: this type is marked as 'beforefieldinit'.
			static ElementPool()
			{
				Il2CppClassPointerStore<XWeaponTrail.ElementPool>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<XWeaponTrail>.NativeClassPtr, "ElementPool");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<XWeaponTrail.ElementPool>.NativeClassPtr);
				XWeaponTrail.ElementPool.NativeFieldInfoPtr__stack = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail.ElementPool>.NativeClassPtr, "_stack");
				XWeaponTrail.ElementPool.NativeFieldInfoPtr__CountAll_k__BackingField = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<XWeaponTrail.ElementPool>.NativeClassPtr, "<CountAll>k__BackingField");
				XWeaponTrail.ElementPool.NativeMethodInfoPtr_get_CountAll_Public_get_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail.ElementPool>.NativeClassPtr, 100672029);
				XWeaponTrail.ElementPool.NativeMethodInfoPtr_set_CountAll_Private_set_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail.ElementPool>.NativeClassPtr, 100672030);
				XWeaponTrail.ElementPool.NativeMethodInfoPtr_get_CountActive_Public_get_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail.ElementPool>.NativeClassPtr, 100672031);
				XWeaponTrail.ElementPool.NativeMethodInfoPtr_get_CountInactive_Public_get_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail.ElementPool>.NativeClassPtr, 100672032);
				XWeaponTrail.ElementPool.NativeMethodInfoPtr__ctor_Public_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail.ElementPool>.NativeClassPtr, 100672033);
				XWeaponTrail.ElementPool.NativeMethodInfoPtr_Get_Public_Element_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail.ElementPool>.NativeClassPtr, 100672034);
				XWeaponTrail.ElementPool.NativeMethodInfoPtr_Release_Public_Void_Element_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<XWeaponTrail.ElementPool>.NativeClassPtr, 100672035);
			}

			// Token: 0x0600741A RID: 29722 RVA: 0x0000A688 File Offset: 0x00008888
			public ElementPool(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x170027C8 RID: 10184
			// (get) Token: 0x0600741B RID: 29723 RVA: 0x001D9404 File Offset: 0x001D7604
			// (set) Token: 0x0600741C RID: 29724 RVA: 0x001D9438 File Offset: 0x001D7638
			public unsafe Stack<XWeaponTrail.Element> _stack
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.ElementPool.NativeFieldInfoPtr__stack);
					IntPtr intPtr2 = *intPtr;
					return (intPtr2 != 0) ? new Stack<XWeaponTrail.Element>(intPtr2) : null;
				}
				set
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.ElementPool.NativeFieldInfoPtr__stack), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x170027C9 RID: 10185
			// (get) Token: 0x0600741D RID: 29725 RVA: 0x001D9460 File Offset: 0x001D7660
			// (set) Token: 0x0600741E RID: 29726 RVA: 0x001D9488 File Offset: 0x001D7688
			public unsafe int _CountAll_k__BackingField
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.ElementPool.NativeFieldInfoPtr__CountAll_k__BackingField);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(XWeaponTrail.ElementPool.NativeFieldInfoPtr__CountAll_k__BackingField)) = value;
				}
			}

			// Token: 0x04004DDD RID: 19933
			private static readonly IntPtr NativeFieldInfoPtr__stack;

			// Token: 0x04004DDE RID: 19934
			private static readonly IntPtr NativeFieldInfoPtr__CountAll_k__BackingField;

			// Token: 0x04004DDF RID: 19935
			private static readonly IntPtr NativeMethodInfoPtr_get_CountAll_Public_get_Int32_0;

			// Token: 0x04004DE0 RID: 19936
			private static readonly IntPtr NativeMethodInfoPtr_set_CountAll_Private_set_Void_Int32_0;

			// Token: 0x04004DE1 RID: 19937
			private static readonly IntPtr NativeMethodInfoPtr_get_CountActive_Public_get_Int32_0;

			// Token: 0x04004DE2 RID: 19938
			private static readonly IntPtr NativeMethodInfoPtr_get_CountInactive_Public_get_Int32_0;

			// Token: 0x04004DE3 RID: 19939
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Int32_0;

			// Token: 0x04004DE4 RID: 19940
			private static readonly IntPtr NativeMethodInfoPtr_Get_Public_Element_0;

			// Token: 0x04004DE5 RID: 19941
			private static readonly IntPtr NativeMethodInfoPtr_Release_Public_Void_Element_0;
		}
	}
}
