using System;
using System.Runtime.InteropServices;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using Il2CppSystem;

// Token: 0x020002CF RID: 719
[StructLayout(LayoutKind.Explicit)]
public struct MagicHandlerData
{
	// Token: 0x06005EA9 RID: 24233 RVA: 0x0017DE38 File Offset: 0x0017C038
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 568689, RefRangeEnd = 568690, XrefRangeStart = 568689, XrefRangeEnd = 568689, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe MagicHandlerData(int index, int magicID, float selectedAlpha, bool isMagicSelectEnabled)
	{
		IntPtr* ptr;
		checked
		{
			ptr = stackalloc IntPtr[unchecked((UIntPtr)4) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref index;
		}
		ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref magicID;
		ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref selectedAlpha;
		ptr[checked(unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref isMagicSelectEnabled;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(MagicHandlerData.NativeMethodInfoPtr__ctor_Public_Void_Int32_Int32_Single_Boolean_0, ref this, (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06005EAA RID: 24234 RVA: 0x0017DEB8 File Offset: 0x0017C0B8
	// Note: this type is marked as 'beforefieldinit'.
	static MagicHandlerData()
	{
		Il2CppClassPointerStore<MagicHandlerData>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "MagicHandlerData");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<MagicHandlerData>.NativeClassPtr);
		MagicHandlerData.NativeFieldInfoPtr_Index = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MagicHandlerData>.NativeClassPtr, "Index");
		MagicHandlerData.NativeFieldInfoPtr_CurrentMagicID = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MagicHandlerData>.NativeClassPtr, "CurrentMagicID");
		MagicHandlerData.NativeFieldInfoPtr_SelectedAlpha = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MagicHandlerData>.NativeClassPtr, "SelectedAlpha");
		MagicHandlerData.NativeFieldInfoPtr_IsMagicSelectEnabled = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MagicHandlerData>.NativeClassPtr, "IsMagicSelectEnabled");
		MagicHandlerData.NativeMethodInfoPtr__ctor_Public_Void_Int32_Int32_Single_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MagicHandlerData>.NativeClassPtr, 100670053);
	}

	// Token: 0x06005EAB RID: 24235 RVA: 0x0017DF4C File Offset: 0x0017C14C
	public Object BoxIl2CppObject()
	{
		return new Object(IL2CPP.il2cpp_value_box(Il2CppClassPointerStore<MagicHandlerData>.NativeClassPtr, ref this));
	}

	// Token: 0x04003EB6 RID: 16054
	private static readonly IntPtr NativeFieldInfoPtr_Index;

	// Token: 0x04003EB7 RID: 16055
	private static readonly IntPtr NativeFieldInfoPtr_CurrentMagicID;

	// Token: 0x04003EB8 RID: 16056
	private static readonly IntPtr NativeFieldInfoPtr_SelectedAlpha;

	// Token: 0x04003EB9 RID: 16057
	private static readonly IntPtr NativeFieldInfoPtr_IsMagicSelectEnabled;

	// Token: 0x04003EBA RID: 16058
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Int32_Int32_Single_Boolean_0;

	// Token: 0x04003EBB RID: 16059
	[FieldOffset(0)]
	public int Index;

	// Token: 0x04003EBC RID: 16060
	[FieldOffset(4)]
	public int CurrentMagicID;

	// Token: 0x04003EBD RID: 16061
	[FieldOffset(8)]
	public float SelectedAlpha;

	// Token: 0x04003EBE RID: 16062
	[FieldOffset(12)]
	[MarshalAs(UnmanagedType.U1)]
	public bool IsMagicSelectEnabled;
}
