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

// Token: 0x0200009F RID: 159
public class GhostBLightningAmbush : MonoBehaviour
{
	// Token: 0x060012E8 RID: 4840 RVA: 0x00051D90 File Offset: 0x0004FF90
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 486972, RefRangeEnd = 486973, XrefRangeStart = 486959, XrefRangeEnd = 486972, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe Vector3 FindNear(Vector3 OwnPos, Vector3 PlayerPos)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr;
		checked
		{
			ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref OwnPos;
		}
		ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref PlayerPos;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GhostBLightningAmbush.NativeMethodInfoPtr_FindNear_Public_Vector3_Vector3_Vector3_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		return *IL2CPP.il2cpp_object_unbox(intPtr);
	}

	// Token: 0x060012E9 RID: 4841 RVA: 0x00051E08 File Offset: 0x00050008
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 486986, RefRangeEnd = 486987, XrefRangeStart = 486973, XrefRangeEnd = 486986, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe Vector3 FindRange(Vector3 OwnPos, Vector3 PlayerPos, float fRange)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr;
		checked
		{
			ptr = stackalloc IntPtr[unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref OwnPos;
		}
		ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref PlayerPos;
		ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref fRange;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GhostBLightningAmbush.NativeMethodInfoPtr_FindRange_Public_Vector3_Vector3_Vector3_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		return *IL2CPP.il2cpp_object_unbox(intPtr);
	}

	// Token: 0x060012EA RID: 4842 RVA: 0x00051E90 File Offset: 0x00050090
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 487003, RefRangeEnd = 487004, XrefRangeStart = 486987, XrefRangeEnd = 487003, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe Vector3 FindPlayerFar(Vector3 PlayerPos, int Num = 4)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr;
		checked
		{
			ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref PlayerPos;
		}
		ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref Num;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GhostBLightningAmbush.NativeMethodInfoPtr_FindPlayerFar_Public_Vector3_Vector3_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		return *IL2CPP.il2cpp_object_unbox(intPtr);
	}

	// Token: 0x060012EB RID: 4843 RVA: 0x00051F08 File Offset: 0x00050108
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 487017, RefRangeEnd = 487018, XrefRangeStart = 487004, XrefRangeEnd = 487017, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe Vector3 FindShootPoint(Vector3 PlayerPos)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref PlayerPos;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GhostBLightningAmbush.NativeMethodInfoPtr_FindShootPoint_Public_Vector3_Vector3_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}
	}

	// Token: 0x060012EC RID: 4844 RVA: 0x00051F6C File Offset: 0x0005016C
	[CallerCount(63)]
	[CachedScanResults(RefRangeStart = 222154, RefRangeEnd = 222217, XrefRangeStart = 222154, XrefRangeEnd = 222217, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe GhostBLightningAmbush()
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<GhostBLightningAmbush>.NativeClassPtr))
	{
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GhostBLightningAmbush.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x060012ED RID: 4845 RVA: 0x00051FB8 File Offset: 0x000501B8
	// Note: this type is marked as 'beforefieldinit'.
	static GhostBLightningAmbush()
	{
		Il2CppClassPointerStore<GhostBLightningAmbush>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "GhostBLightningAmbush");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<GhostBLightningAmbush>.NativeClassPtr);
		GhostBLightningAmbush.NativeFieldInfoPtr_AmbushPoint = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GhostBLightningAmbush>.NativeClassPtr, "AmbushPoint");
		GhostBLightningAmbush.NativeFieldInfoPtr_AmbushRange = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GhostBLightningAmbush>.NativeClassPtr, "AmbushRange");
		GhostBLightningAmbush.NativeFieldInfoPtr_ShootPoint = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GhostBLightningAmbush>.NativeClassPtr, "ShootPoint");
		GhostBLightningAmbush.NativeMethodInfoPtr_FindNear_Public_Vector3_Vector3_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GhostBLightningAmbush>.NativeClassPtr, 100665062);
		GhostBLightningAmbush.NativeMethodInfoPtr_FindRange_Public_Vector3_Vector3_Vector3_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GhostBLightningAmbush>.NativeClassPtr, 100665063);
		GhostBLightningAmbush.NativeMethodInfoPtr_FindPlayerFar_Public_Vector3_Vector3_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GhostBLightningAmbush>.NativeClassPtr, 100665064);
		GhostBLightningAmbush.NativeMethodInfoPtr_FindShootPoint_Public_Vector3_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GhostBLightningAmbush>.NativeClassPtr, 100665065);
		GhostBLightningAmbush.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GhostBLightningAmbush>.NativeClassPtr, 100665066);
	}

	// Token: 0x060012EE RID: 4846 RVA: 0x0000351C File Offset: 0x0000171C
	public GhostBLightningAmbush(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x170005BE RID: 1470
	// (get) Token: 0x060012EF RID: 4847 RVA: 0x00052088 File Offset: 0x00050288
	// (set) Token: 0x060012F0 RID: 4848 RVA: 0x000520BC File Offset: 0x000502BC
	public unsafe Il2CppReferenceArray<Transform> AmbushPoint
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GhostBLightningAmbush.NativeFieldInfoPtr_AmbushPoint);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new Il2CppReferenceArray<Transform>(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(GhostBLightningAmbush.NativeFieldInfoPtr_AmbushPoint), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x170005BF RID: 1471
	// (get) Token: 0x060012F1 RID: 4849 RVA: 0x000520E4 File Offset: 0x000502E4
	// (set) Token: 0x060012F2 RID: 4850 RVA: 0x0005210C File Offset: 0x0005030C
	public unsafe float AmbushRange
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GhostBLightningAmbush.NativeFieldInfoPtr_AmbushRange);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GhostBLightningAmbush.NativeFieldInfoPtr_AmbushRange)) = value;
		}
	}

	// Token: 0x170005C0 RID: 1472
	// (get) Token: 0x060012F3 RID: 4851 RVA: 0x00052130 File Offset: 0x00050330
	// (set) Token: 0x060012F4 RID: 4852 RVA: 0x00052164 File Offset: 0x00050364
	public unsafe Il2CppReferenceArray<Transform> ShootPoint
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GhostBLightningAmbush.NativeFieldInfoPtr_ShootPoint);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new Il2CppReferenceArray<Transform>(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(GhostBLightningAmbush.NativeFieldInfoPtr_ShootPoint), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x04000EDE RID: 3806
	private static readonly IntPtr NativeFieldInfoPtr_AmbushPoint;

	// Token: 0x04000EDF RID: 3807
	private static readonly IntPtr NativeFieldInfoPtr_AmbushRange;

	// Token: 0x04000EE0 RID: 3808
	private static readonly IntPtr NativeFieldInfoPtr_ShootPoint;

	// Token: 0x04000EE1 RID: 3809
	private static readonly IntPtr NativeMethodInfoPtr_FindNear_Public_Vector3_Vector3_Vector3_0;

	// Token: 0x04000EE2 RID: 3810
	private static readonly IntPtr NativeMethodInfoPtr_FindRange_Public_Vector3_Vector3_Vector3_Single_0;

	// Token: 0x04000EE3 RID: 3811
	private static readonly IntPtr NativeMethodInfoPtr_FindPlayerFar_Public_Vector3_Vector3_Int32_0;

	// Token: 0x04000EE4 RID: 3812
	private static readonly IntPtr NativeMethodInfoPtr_FindShootPoint_Public_Vector3_Vector3_0;

	// Token: 0x04000EE5 RID: 3813
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
}
