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

// Token: 0x0200031C RID: 796
[StructLayout(2)]
public struct MagicHandlerData
{
	// Token: 0x06006581 RID: 25985 RVA: 0x0019A4A0 File Offset: 0x001986A0
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 599237, RefRangeEnd = 599238, XrefRangeStart = 599237, XrefRangeEnd = 599237, 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: 0x06006582 RID: 25986 RVA: 0x0019A520 File Offset: 0x00198720
	// 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, 100670629);
	}

	// Token: 0x06006583 RID: 25987 RVA: 0x0019A5B4 File Offset: 0x001987B4
	public Object BoxIl2CppObject()
	{
		return new Object(IL2CPP.il2cpp_value_box(Il2CppClassPointerStore<MagicHandlerData>.NativeClassPtr, ref this));
	}

	// Token: 0x04004366 RID: 17254
	private static readonly IntPtr NativeFieldInfoPtr_Index;

	// Token: 0x04004367 RID: 17255
	private static readonly IntPtr NativeFieldInfoPtr_CurrentMagicID;

	// Token: 0x04004368 RID: 17256
	private static readonly IntPtr NativeFieldInfoPtr_SelectedAlpha;

	// Token: 0x04004369 RID: 17257
	private static readonly IntPtr NativeFieldInfoPtr_IsMagicSelectEnabled;

	// Token: 0x0400436A RID: 17258
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Int32_Int32_Single_Boolean_0;

	// Token: 0x0400436B RID: 17259
	[FieldOffset(0)]
	public int Index;

	// Token: 0x0400436C RID: 17260
	[FieldOffset(4)]
	public int CurrentMagicID;

	// Token: 0x0400436D RID: 17261
	[FieldOffset(8)]
	public float SelectedAlpha;

	// Token: 0x0400436E RID: 17262
	[FieldOffset(12)]
	[MarshalAs(4)]
	public bool IsMagicSelectEnabled;
}
