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

// Token: 0x020002A3 RID: 675
public class MessageBoxConfig : Object
{
	// Token: 0x06005AFA RID: 23290 RVA: 0x0016F1C8 File Offset: 0x0016D3C8
	[CallerCount(37)]
	[CachedScanResults(RefRangeStart = 70742, RefRangeEnd = 70779, XrefRangeStart = 70742, XrefRangeEnd = 70779, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe MessageBoxConfig(string titleText, int defaultHandlerIndex = 0)
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<MessageBoxConfig>.NativeClassPtr))
	{
		IntPtr* ptr;
		checked
		{
			ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
			*ptr = IL2CPP.ManagedStringToIl2Cpp(titleText);
		}
		ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref defaultHandlerIndex;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(MessageBoxConfig.NativeMethodInfoPtr__ctor_Public_Void_String_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06005AFB RID: 23291 RVA: 0x0016F240 File Offset: 0x0016D440
	[CallerCount(13)]
	[CachedScanResults(RefRangeStart = 566232, RefRangeEnd = 566245, XrefRangeStart = 566231, XrefRangeEnd = 566232, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe MessageBoxConfig BindHandlerData(Il2CppReferenceArray<MessageBoxHandlerData> handlerData = null)
	{
		if (handlerData == null)
		{
			handlerData = new Il2CppReferenceArray<MessageBoxHandlerData>(0L);
		}
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = IL2CPP.Il2CppObjectBaseToPtr(handlerData);
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(MessageBoxConfig.NativeMethodInfoPtr_BindHandlerData_Public_MessageBoxConfig_Il2CppReferenceArray_1_MessageBoxHandlerData_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			IntPtr intPtr3 = intPtr;
			return (intPtr3 != 0) ? new MessageBoxConfig(intPtr3) : null;
		}
	}

	// Token: 0x06005AFC RID: 23292 RVA: 0x0016F2C4 File Offset: 0x0016D4C4
	[CallerCount(12)]
	[CachedScanResults(RefRangeStart = 357194, RefRangeEnd = 357206, XrefRangeStart = 357194, XrefRangeEnd = 357206, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe MessageBoxConfig BindCloseEvent(Action closeHandler)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = IL2CPP.Il2CppObjectBaseToPtr(closeHandler);
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(MessageBoxConfig.NativeMethodInfoPtr_BindCloseEvent_Public_MessageBoxConfig_Action_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			IntPtr intPtr3 = intPtr;
			return (intPtr3 != 0) ? new MessageBoxConfig(intPtr3) : null;
		}
	}

	// Token: 0x06005AFD RID: 23293 RVA: 0x0016F331 File Offset: 0x0016D531
	public MessageBoxConfig BindHandlerData(params MessageBoxHandlerData[] handlerData)
	{
		return this.BindHandlerData(new Il2CppReferenceArray<MessageBoxHandlerData>(handlerData));
	}

	// Token: 0x06005AFE RID: 23294 RVA: 0x0016F344 File Offset: 0x0016D544
	// Note: this type is marked as 'beforefieldinit'.
	static MessageBoxConfig()
	{
		Il2CppClassPointerStore<MessageBoxConfig>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "MessageBoxConfig");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<MessageBoxConfig>.NativeClassPtr);
		MessageBoxConfig.NativeFieldInfoPtr_titleText = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MessageBoxConfig>.NativeClassPtr, "titleText");
		MessageBoxConfig.NativeFieldInfoPtr_defaultHandlerIndex = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MessageBoxConfig>.NativeClassPtr, "defaultHandlerIndex");
		MessageBoxConfig.NativeFieldInfoPtr_handlerData = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MessageBoxConfig>.NativeClassPtr, "handlerData");
		MessageBoxConfig.NativeFieldInfoPtr_closeHandler = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MessageBoxConfig>.NativeClassPtr, "closeHandler");
		MessageBoxConfig.NativeMethodInfoPtr__ctor_Public_Void_String_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MessageBoxConfig>.NativeClassPtr, 100669774);
		MessageBoxConfig.NativeMethodInfoPtr_BindHandlerData_Public_MessageBoxConfig_Il2CppReferenceArray_1_MessageBoxHandlerData_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MessageBoxConfig>.NativeClassPtr, 100669775);
		MessageBoxConfig.NativeMethodInfoPtr_BindCloseEvent_Public_MessageBoxConfig_Action_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MessageBoxConfig>.NativeClassPtr, 100669776);
	}

	// Token: 0x06005AFF RID: 23295 RVA: 0x0000A688 File Offset: 0x00008888
	public MessageBoxConfig(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x17001FA2 RID: 8098
	// (get) Token: 0x06005B00 RID: 23296 RVA: 0x0016F400 File Offset: 0x0016D600
	// (set) Token: 0x06005B01 RID: 23297 RVA: 0x0016F429 File Offset: 0x0016D629
	public unsafe string titleText
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MessageBoxConfig.NativeFieldInfoPtr_titleText);
			return IL2CPP.Il2CppStringToManaged(*intPtr);
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(MessageBoxConfig.NativeFieldInfoPtr_titleText), IL2CPP.ManagedStringToIl2Cpp(value));
		}
	}

	// Token: 0x17001FA3 RID: 8099
	// (get) Token: 0x06005B02 RID: 23298 RVA: 0x0016F450 File Offset: 0x0016D650
	// (set) Token: 0x06005B03 RID: 23299 RVA: 0x0016F478 File Offset: 0x0016D678
	public unsafe int defaultHandlerIndex
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MessageBoxConfig.NativeFieldInfoPtr_defaultHandlerIndex);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MessageBoxConfig.NativeFieldInfoPtr_defaultHandlerIndex)) = value;
		}
	}

	// Token: 0x17001FA4 RID: 8100
	// (get) Token: 0x06005B04 RID: 23300 RVA: 0x0016F49C File Offset: 0x0016D69C
	// (set) Token: 0x06005B05 RID: 23301 RVA: 0x0016F4D0 File Offset: 0x0016D6D0
	public unsafe Il2CppReferenceArray<MessageBoxHandlerData> handlerData
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MessageBoxConfig.NativeFieldInfoPtr_handlerData);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new Il2CppReferenceArray<MessageBoxHandlerData>(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(MessageBoxConfig.NativeFieldInfoPtr_handlerData), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x17001FA5 RID: 8101
	// (get) Token: 0x06005B06 RID: 23302 RVA: 0x0016F4F8 File Offset: 0x0016D6F8
	// (set) Token: 0x06005B07 RID: 23303 RVA: 0x0016F52C File Offset: 0x0016D72C
	public unsafe Action closeHandler
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MessageBoxConfig.NativeFieldInfoPtr_closeHandler);
			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(MessageBoxConfig.NativeFieldInfoPtr_closeHandler), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x04003C55 RID: 15445
	private static readonly IntPtr NativeFieldInfoPtr_titleText;

	// Token: 0x04003C56 RID: 15446
	private static readonly IntPtr NativeFieldInfoPtr_defaultHandlerIndex;

	// Token: 0x04003C57 RID: 15447
	private static readonly IntPtr NativeFieldInfoPtr_handlerData;

	// Token: 0x04003C58 RID: 15448
	private static readonly IntPtr NativeFieldInfoPtr_closeHandler;

	// Token: 0x04003C59 RID: 15449
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_String_Int32_0;

	// Token: 0x04003C5A RID: 15450
	private static readonly IntPtr NativeMethodInfoPtr_BindHandlerData_Public_MessageBoxConfig_Il2CppReferenceArray_1_MessageBoxHandlerData_0;

	// Token: 0x04003C5B RID: 15451
	private static readonly IntPtr NativeMethodInfoPtr_BindCloseEvent_Public_MessageBoxConfig_Action_0;
}
