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

// Token: 0x020000B6 RID: 182
public class GhostBLightningAmbush : MonoBehaviour
{
	// Token: 0x06001459 RID: 5209 RVA: 0x0005826C File Offset: 0x0005646C
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 509107, RefRangeEnd = 509108, XrefRangeStart = 509094, XrefRangeEnd = 509107, 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: 0x0600145A RID: 5210 RVA: 0x000582E4 File Offset: 0x000564E4
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 509121, RefRangeEnd = 509122, XrefRangeStart = 509108, XrefRangeEnd = 509121, 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: 0x0600145B RID: 5211 RVA: 0x0005836C File Offset: 0x0005656C
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 509138, RefRangeEnd = 509139, XrefRangeStart = 509122, XrefRangeEnd = 509138, 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: 0x0600145C RID: 5212 RVA: 0x000583E4 File Offset: 0x000565E4
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 509152, RefRangeEnd = 509153, XrefRangeStart = 509139, XrefRangeEnd = 509152, 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: 0x0600145D RID: 5213 RVA: 0x00058448 File Offset: 0x00056648
	[CallerCount(67)]
	[CachedScanResults(RefRangeStart = 166362, RefRangeEnd = 166429, XrefRangeStart = 166362, XrefRangeEnd = 166429, 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: 0x0600145E RID: 5214 RVA: 0x00058494 File Offset: 0x00056694
	// 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, 100665229);
		GhostBLightningAmbush.NativeMethodInfoPtr_FindRange_Public_Vector3_Vector3_Vector3_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GhostBLightningAmbush>.NativeClassPtr, 100665230);
		GhostBLightningAmbush.NativeMethodInfoPtr_FindPlayerFar_Public_Vector3_Vector3_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GhostBLightningAmbush>.NativeClassPtr, 100665231);
		GhostBLightningAmbush.NativeMethodInfoPtr_FindShootPoint_Public_Vector3_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GhostBLightningAmbush>.NativeClassPtr, 100665232);
		GhostBLightningAmbush.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GhostBLightningAmbush>.NativeClassPtr, 100665233);
	}

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

	// Token: 0x17000613 RID: 1555
	// (get) Token: 0x06001460 RID: 5216 RVA: 0x00058564 File Offset: 0x00056764
	// (set) Token: 0x06001461 RID: 5217 RVA: 0x00058598 File Offset: 0x00056798
	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: 0x17000614 RID: 1556
	// (get) Token: 0x06001462 RID: 5218 RVA: 0x000585C0 File Offset: 0x000567C0
	// (set) Token: 0x06001463 RID: 5219 RVA: 0x000585E8 File Offset: 0x000567E8
	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: 0x17000615 RID: 1557
	// (get) Token: 0x06001464 RID: 5220 RVA: 0x0005860C File Offset: 0x0005680C
	// (set) Token: 0x06001465 RID: 5221 RVA: 0x00058640 File Offset: 0x00056840
	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: 0x04000FED RID: 4077
	private static readonly IntPtr NativeFieldInfoPtr_AmbushPoint;

	// Token: 0x04000FEE RID: 4078
	private static readonly IntPtr NativeFieldInfoPtr_AmbushRange;

	// Token: 0x04000FEF RID: 4079
	private static readonly IntPtr NativeFieldInfoPtr_ShootPoint;

	// Token: 0x04000FF0 RID: 4080
	private static readonly IntPtr NativeMethodInfoPtr_FindNear_Public_Vector3_Vector3_Vector3_0;

	// Token: 0x04000FF1 RID: 4081
	private static readonly IntPtr NativeMethodInfoPtr_FindRange_Public_Vector3_Vector3_Vector3_Single_0;

	// Token: 0x04000FF2 RID: 4082
	private static readonly IntPtr NativeMethodInfoPtr_FindPlayerFar_Public_Vector3_Vector3_Int32_0;

	// Token: 0x04000FF3 RID: 4083
	private static readonly IntPtr NativeMethodInfoPtr_FindShootPoint_Public_Vector3_Vector3_0;

	// Token: 0x04000FF4 RID: 4084
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
}
