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

// Token: 0x020002EE RID: 750
public class MessageBoxConfig : Object
{
	// Token: 0x06006173 RID: 24947 RVA: 0x0018A1A8 File Offset: 0x001883A8
	[CallerCount(41)]
	[CachedScanResults(RefRangeStart = 70748, RefRangeEnd = 70789, XrefRangeStart = 70748, XrefRangeEnd = 70789, 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: 0x06006174 RID: 24948 RVA: 0x0018A220 File Offset: 0x00188420
	[CallerCount(17)]
	[CachedScanResults(RefRangeStart = 596389, RefRangeEnd = 596406, XrefRangeStart = 596388, XrefRangeEnd = 596389, 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: 0x06006175 RID: 24949 RVA: 0x0018A2A4 File Offset: 0x001884A4
	[CallerCount(14)]
	[CachedScanResults(RefRangeStart = 366053, RefRangeEnd = 366067, XrefRangeStart = 366053, XrefRangeEnd = 366067, 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: 0x06006176 RID: 24950 RVA: 0x0018A311 File Offset: 0x00188511
	public MessageBoxConfig BindHandlerData(params MessageBoxHandlerData[] handlerData)
	{
		return this.BindHandlerData(new Il2CppReferenceArray<MessageBoxHandlerData>(handlerData));
	}

	// Token: 0x06006177 RID: 24951 RVA: 0x0018A324 File Offset: 0x00188524
	// 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, 100670331);
		MessageBoxConfig.NativeMethodInfoPtr_BindHandlerData_Public_MessageBoxConfig_Il2CppReferenceArray_1_MessageBoxHandlerData_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MessageBoxConfig>.NativeClassPtr, 100670332);
		MessageBoxConfig.NativeMethodInfoPtr_BindCloseEvent_Public_MessageBoxConfig_Action_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MessageBoxConfig>.NativeClassPtr, 100670333);
	}

	// Token: 0x06006178 RID: 24952 RVA: 0x0000A74C File Offset: 0x0000894C
	public MessageBoxConfig(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x17002196 RID: 8598
	// (get) Token: 0x06006179 RID: 24953 RVA: 0x0018A3E0 File Offset: 0x001885E0
	// (set) Token: 0x0600617A RID: 24954 RVA: 0x0018A409 File Offset: 0x00188609
	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: 0x17002197 RID: 8599
	// (get) Token: 0x0600617B RID: 24955 RVA: 0x0018A430 File Offset: 0x00188630
	// (set) Token: 0x0600617C RID: 24956 RVA: 0x0018A458 File Offset: 0x00188658
	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: 0x17002198 RID: 8600
	// (get) Token: 0x0600617D RID: 24957 RVA: 0x0018A47C File Offset: 0x0018867C
	// (set) Token: 0x0600617E RID: 24958 RVA: 0x0018A4B0 File Offset: 0x001886B0
	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: 0x17002199 RID: 8601
	// (get) Token: 0x0600617F RID: 24959 RVA: 0x0018A4D8 File Offset: 0x001886D8
	// (set) Token: 0x06006180 RID: 24960 RVA: 0x0018A50C File Offset: 0x0018870C
	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: 0x040040CB RID: 16587
	private static readonly IntPtr NativeFieldInfoPtr_titleText;

	// Token: 0x040040CC RID: 16588
	private static readonly IntPtr NativeFieldInfoPtr_defaultHandlerIndex;

	// Token: 0x040040CD RID: 16589
	private static readonly IntPtr NativeFieldInfoPtr_handlerData;

	// Token: 0x040040CE RID: 16590
	private static readonly IntPtr NativeFieldInfoPtr_closeHandler;

	// Token: 0x040040CF RID: 16591
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_String_Int32_0;

	// Token: 0x040040D0 RID: 16592
	private static readonly IntPtr NativeMethodInfoPtr_BindHandlerData_Public_MessageBoxConfig_Il2CppReferenceArray_1_MessageBoxHandlerData_0;

	// Token: 0x040040D1 RID: 16593
	private static readonly IntPtr NativeMethodInfoPtr_BindCloseEvent_Public_MessageBoxConfig_Action_0;
}
