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

// Token: 0x020002A4 RID: 676
public class MessageBoxHandlerData : Object
{
	// Token: 0x06005B08 RID: 23304 RVA: 0x0016F554 File Offset: 0x0016D754
	[CallerCount(24)]
	[CachedScanResults(RefRangeStart = 350094, RefRangeEnd = 350118, XrefRangeStart = 350094, XrefRangeEnd = 350118, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe MessageBoxHandlerData(string handlerText, Enum submissionSfx, Action handlerEvent)
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<MessageBoxHandlerData>.NativeClassPtr))
	{
		IntPtr* ptr;
		checked
		{
			ptr = stackalloc IntPtr[unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)];
			*ptr = IL2CPP.ManagedStringToIl2Cpp(handlerText);
		}
		ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.il2cpp_object_unbox(IL2CPP.Il2CppObjectBaseToPtrNotNull(submissionSfx));
		ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(handlerEvent);
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(MessageBoxHandlerData.NativeMethodInfoPtr__ctor_Public_Void_String_Enum_Action_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06005B09 RID: 23305 RVA: 0x0016F5EC File Offset: 0x0016D7EC
	// Note: this type is marked as 'beforefieldinit'.
	static MessageBoxHandlerData()
	{
		Il2CppClassPointerStore<MessageBoxHandlerData>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "MessageBoxHandlerData");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<MessageBoxHandlerData>.NativeClassPtr);
		MessageBoxHandlerData.NativeFieldInfoPtr_handlerText = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MessageBoxHandlerData>.NativeClassPtr, "handlerText");
		MessageBoxHandlerData.NativeFieldInfoPtr_submissionSfx = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MessageBoxHandlerData>.NativeClassPtr, "submissionSfx");
		MessageBoxHandlerData.NativeFieldInfoPtr_handlerEvent = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MessageBoxHandlerData>.NativeClassPtr, "handlerEvent");
		MessageBoxHandlerData.NativeMethodInfoPtr__ctor_Public_Void_String_Enum_Action_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MessageBoxHandlerData>.NativeClassPtr, 100669777);
	}

	// Token: 0x06005B0A RID: 23306 RVA: 0x0000A688 File Offset: 0x00008888
	public MessageBoxHandlerData(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x17001FA6 RID: 8102
	// (get) Token: 0x06005B0B RID: 23307 RVA: 0x0016F66C File Offset: 0x0016D86C
	// (set) Token: 0x06005B0C RID: 23308 RVA: 0x0016F695 File Offset: 0x0016D895
	public unsafe string handlerText
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MessageBoxHandlerData.NativeFieldInfoPtr_handlerText);
			return IL2CPP.Il2CppStringToManaged(*intPtr);
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(MessageBoxHandlerData.NativeFieldInfoPtr_handlerText), IL2CPP.ManagedStringToIl2Cpp(value));
		}
	}

	// Token: 0x17001FA7 RID: 8103
	// (get) Token: 0x06005B0D RID: 23309 RVA: 0x0016F6BC File Offset: 0x0016D8BC
	// (set) Token: 0x06005B0E RID: 23310 RVA: 0x0016F6EE File Offset: 0x0016D8EE
	public Enum submissionSfx
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MessageBoxHandlerData.NativeFieldInfoPtr_submissionSfx);
			return new Enum(IL2CPP.il2cpp_value_box(Il2CppClassPointerStore<Enum>.NativeClassPtr, intPtr));
		}
		set
		{
			cpblk(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MessageBoxHandlerData.NativeFieldInfoPtr_submissionSfx), IL2CPP.il2cpp_object_unbox(IL2CPP.Il2CppObjectBaseToPtr(value)), IL2CPP.il2cpp_class_value_size(Il2CppClassPointerStore<Enum>.NativeClassPtr, (UIntPtr)0));
		}
	}

	// Token: 0x17001FA8 RID: 8104
	// (get) Token: 0x06005B0F RID: 23311 RVA: 0x0016F724 File Offset: 0x0016D924
	// (set) Token: 0x06005B10 RID: 23312 RVA: 0x0016F758 File Offset: 0x0016D958
	public unsafe Action handlerEvent
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MessageBoxHandlerData.NativeFieldInfoPtr_handlerEvent);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new Action(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(MessageBoxHandlerData.NativeFieldInfoPtr_handlerEvent), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x04003C5C RID: 15452
	private static readonly IntPtr NativeFieldInfoPtr_handlerText;

	// Token: 0x04003C5D RID: 15453
	private static readonly IntPtr NativeFieldInfoPtr_submissionSfx;

	// Token: 0x04003C5E RID: 15454
	private static readonly IntPtr NativeFieldInfoPtr_handlerEvent;

	// Token: 0x04003C5F RID: 15455
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_String_Enum_Action_0;
}
