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

// Token: 0x020002F6 RID: 758
public class UIStackingManager : Object
{
	// Token: 0x06006287 RID: 25223 RVA: 0x0018E52C File Offset: 0x0018C72C
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 571756, RefRangeEnd = 571757, XrefRangeStart = 571750, XrefRangeEnd = 571756, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void AppendCanvas(GameCanvasBase canvas)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = IL2CPP.Il2CppObjectBaseToPtr(canvas);
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(UIStackingManager.NativeMethodInfoPtr_AppendCanvas_Public_Void_GameCanvasBase_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}
	}

	// Token: 0x06006288 RID: 25224 RVA: 0x0018E588 File Offset: 0x0018C788
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 571764, RefRangeEnd = 571765, XrefRangeStart = 571757, XrefRangeEnd = 571764, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void RemoveCanvas(GameCanvasBase canvas)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = IL2CPP.Il2CppObjectBaseToPtr(canvas);
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(UIStackingManager.NativeMethodInfoPtr_RemoveCanvas_Public_Void_GameCanvasBase_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}
	}

	// Token: 0x06006289 RID: 25225 RVA: 0x0018E5E4 File Offset: 0x0018C7E4
	[CallerCount(2)]
	[CachedScanResults(RefRangeStart = 571768, RefRangeEnd = 571770, XrefRangeStart = 571765, XrefRangeEnd = 571768, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void Init(UIStackingManager.UIStackingCommand cmdType)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref cmdType;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(UIStackingManager.NativeMethodInfoPtr_Init_Public_Void_UIStackingCommand_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}
	}

	// Token: 0x0600628A RID: 25226 RVA: 0x0018E638 File Offset: 0x0018C838
	[CallerCount(6)]
	[CachedScanResults(RefRangeStart = 343366, RefRangeEnd = 343372, XrefRangeStart = 343366, XrefRangeEnd = 343372, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void Record()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(UIStackingManager.NativeMethodInfoPtr_Record_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x0600628B RID: 25227 RVA: 0x0018E67C File Offset: 0x0018C87C
	[CallerCount(6)]
	[CachedScanResults(RefRangeStart = 571774, RefRangeEnd = 571780, XrefRangeStart = 571770, XrefRangeEnd = 571774, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void Stop()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(UIStackingManager.NativeMethodInfoPtr_Stop_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x0600628C RID: 25228 RVA: 0x0018E6C0 File Offset: 0x0018C8C0
	[CallerCount(0)]
	public unsafe UIStackingManager.UIStackingCommand GetDefaultCommand()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(UIStackingManager.NativeMethodInfoPtr_GetDefaultCommand_Public_UIStackingCommand_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		return *IL2CPP.il2cpp_object_unbox(intPtr);
	}

	// Token: 0x0600628D RID: 25229 RVA: 0x0018E710 File Offset: 0x0018C910
	[CallerCount(0)]
	public unsafe void SetCommand(UIStackingManager.UIStackingCommand cmdType)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref cmdType;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(UIStackingManager.NativeMethodInfoPtr_SetCommand_Public_Void_UIStackingCommand_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}
	}

	// Token: 0x0600628E RID: 25230 RVA: 0x0018E764 File Offset: 0x0018C964
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 571780, RefRangeEnd = 571781, XrefRangeStart = 571780, XrefRangeEnd = 571780, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void ResetDefaultCommand()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(UIStackingManager.NativeMethodInfoPtr_ResetDefaultCommand_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x0600628F RID: 25231 RVA: 0x0018E7A8 File Offset: 0x0018C9A8
	[CallerCount(2)]
	[CachedScanResults(RefRangeStart = 571795, RefRangeEnd = 571797, XrefRangeStart = 571781, XrefRangeEnd = 571795, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void ExecuteCommand()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(UIStackingManager.NativeMethodInfoPtr_ExecuteCommand_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06006290 RID: 25232 RVA: 0x0018E7EC File Offset: 0x0018C9EC
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 571797, XrefRangeEnd = 571801, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void ClosePeekCanvas()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(UIStackingManager.NativeMethodInfoPtr_ClosePeekCanvas_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06006291 RID: 25233 RVA: 0x0018E830 File Offset: 0x0018CA30
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 571805, RefRangeEnd = 571806, XrefRangeStart = 571801, XrefRangeEnd = 571805, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void ForceCloseCanvases(int times)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref times;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(UIStackingManager.NativeMethodInfoPtr_ForceCloseCanvases_Private_Void_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}
	}

	// Token: 0x06006292 RID: 25234 RVA: 0x0018E884 File Offset: 0x0018CA84
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 571819, RefRangeEnd = 571820, XrefRangeStart = 571806, XrefRangeEnd = 571819, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe UIStackingManager()
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<UIStackingManager>.NativeClassPtr))
	{
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(UIStackingManager.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06006293 RID: 25235 RVA: 0x0018E8D0 File Offset: 0x0018CAD0
	// Note: this type is marked as 'beforefieldinit'.
	static UIStackingManager()
	{
		Il2CppClassPointerStore<UIStackingManager>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "UIStackingManager");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<UIStackingManager>.NativeClassPtr);
		UIStackingManager.NativeFieldInfoPtr_canvasStack = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<UIStackingManager>.NativeClassPtr, "canvasStack");
		UIStackingManager.NativeFieldInfoPtr_pendingStack = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<UIStackingManager>.NativeClassPtr, "pendingStack");
		UIStackingManager.NativeFieldInfoPtr_currentCmdType = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<UIStackingManager>.NativeClassPtr, "currentCmdType");
		UIStackingManager.NativeFieldInfoPtr_defaultCmdType = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<UIStackingManager>.NativeClassPtr, "defaultCmdType");
		UIStackingManager.NativeFieldInfoPtr_isRecording = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<UIStackingManager>.NativeClassPtr, "isRecording");
		UIStackingManager.NativeMethodInfoPtr_AppendCanvas_Public_Void_GameCanvasBase_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UIStackingManager>.NativeClassPtr, 100670423);
		UIStackingManager.NativeMethodInfoPtr_RemoveCanvas_Public_Void_GameCanvasBase_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UIStackingManager>.NativeClassPtr, 100670424);
		UIStackingManager.NativeMethodInfoPtr_Init_Public_Void_UIStackingCommand_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UIStackingManager>.NativeClassPtr, 100670425);
		UIStackingManager.NativeMethodInfoPtr_Record_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UIStackingManager>.NativeClassPtr, 100670426);
		UIStackingManager.NativeMethodInfoPtr_Stop_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UIStackingManager>.NativeClassPtr, 100670427);
		UIStackingManager.NativeMethodInfoPtr_GetDefaultCommand_Public_UIStackingCommand_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UIStackingManager>.NativeClassPtr, 100670428);
		UIStackingManager.NativeMethodInfoPtr_SetCommand_Public_Void_UIStackingCommand_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UIStackingManager>.NativeClassPtr, 100670429);
		UIStackingManager.NativeMethodInfoPtr_ResetDefaultCommand_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UIStackingManager>.NativeClassPtr, 100670430);
		UIStackingManager.NativeMethodInfoPtr_ExecuteCommand_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UIStackingManager>.NativeClassPtr, 100670431);
		UIStackingManager.NativeMethodInfoPtr_ClosePeekCanvas_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UIStackingManager>.NativeClassPtr, 100670432);
		UIStackingManager.NativeMethodInfoPtr_ForceCloseCanvases_Private_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UIStackingManager>.NativeClassPtr, 100670433);
		UIStackingManager.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UIStackingManager>.NativeClassPtr, 100670434);
	}

	// Token: 0x06006294 RID: 25236 RVA: 0x0000A688 File Offset: 0x00008888
	public UIStackingManager(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x1700221D RID: 8733
	// (get) Token: 0x06006295 RID: 25237 RVA: 0x0018EA54 File Offset: 0x0018CC54
	// (set) Token: 0x06006296 RID: 25238 RVA: 0x0018EA88 File Offset: 0x0018CC88
	public unsafe Stack<GameCanvasBase> canvasStack
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(UIStackingManager.NativeFieldInfoPtr_canvasStack);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new Stack<GameCanvasBase>(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(UIStackingManager.NativeFieldInfoPtr_canvasStack), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x1700221E RID: 8734
	// (get) Token: 0x06006297 RID: 25239 RVA: 0x0018EAB0 File Offset: 0x0018CCB0
	// (set) Token: 0x06006298 RID: 25240 RVA: 0x0018EAE4 File Offset: 0x0018CCE4
	public unsafe Stack<GameCanvasBase> pendingStack
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(UIStackingManager.NativeFieldInfoPtr_pendingStack);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new Stack<GameCanvasBase>(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(UIStackingManager.NativeFieldInfoPtr_pendingStack), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x1700221F RID: 8735
	// (get) Token: 0x06006299 RID: 25241 RVA: 0x0018EB0C File Offset: 0x0018CD0C
	// (set) Token: 0x0600629A RID: 25242 RVA: 0x0018EB34 File Offset: 0x0018CD34
	public unsafe UIStackingManager.UIStackingCommand currentCmdType
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(UIStackingManager.NativeFieldInfoPtr_currentCmdType);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(UIStackingManager.NativeFieldInfoPtr_currentCmdType)) = value;
		}
	}

	// Token: 0x17002220 RID: 8736
	// (get) Token: 0x0600629B RID: 25243 RVA: 0x0018EB58 File Offset: 0x0018CD58
	// (set) Token: 0x0600629C RID: 25244 RVA: 0x0018EB80 File Offset: 0x0018CD80
	public unsafe UIStackingManager.UIStackingCommand defaultCmdType
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(UIStackingManager.NativeFieldInfoPtr_defaultCmdType);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(UIStackingManager.NativeFieldInfoPtr_defaultCmdType)) = value;
		}
	}

	// Token: 0x17002221 RID: 8737
	// (get) Token: 0x0600629D RID: 25245 RVA: 0x0018EBA4 File Offset: 0x0018CDA4
	// (set) Token: 0x0600629E RID: 25246 RVA: 0x0018EBCC File Offset: 0x0018CDCC
	public unsafe bool isRecording
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(UIStackingManager.NativeFieldInfoPtr_isRecording);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(UIStackingManager.NativeFieldInfoPtr_isRecording)) = value;
		}
	}

	// Token: 0x0400413E RID: 16702
	private static readonly IntPtr NativeFieldInfoPtr_canvasStack;

	// Token: 0x0400413F RID: 16703
	private static readonly IntPtr NativeFieldInfoPtr_pendingStack;

	// Token: 0x04004140 RID: 16704
	private static readonly IntPtr NativeFieldInfoPtr_currentCmdType;

	// Token: 0x04004141 RID: 16705
	private static readonly IntPtr NativeFieldInfoPtr_defaultCmdType;

	// Token: 0x04004142 RID: 16706
	private static readonly IntPtr NativeFieldInfoPtr_isRecording;

	// Token: 0x04004143 RID: 16707
	private static readonly IntPtr NativeMethodInfoPtr_AppendCanvas_Public_Void_GameCanvasBase_0;

	// Token: 0x04004144 RID: 16708
	private static readonly IntPtr NativeMethodInfoPtr_RemoveCanvas_Public_Void_GameCanvasBase_0;

	// Token: 0x04004145 RID: 16709
	private static readonly IntPtr NativeMethodInfoPtr_Init_Public_Void_UIStackingCommand_0;

	// Token: 0x04004146 RID: 16710
	private static readonly IntPtr NativeMethodInfoPtr_Record_Public_Void_0;

	// Token: 0x04004147 RID: 16711
	private static readonly IntPtr NativeMethodInfoPtr_Stop_Public_Void_0;

	// Token: 0x04004148 RID: 16712
	private static readonly IntPtr NativeMethodInfoPtr_GetDefaultCommand_Public_UIStackingCommand_0;

	// Token: 0x04004149 RID: 16713
	private static readonly IntPtr NativeMethodInfoPtr_SetCommand_Public_Void_UIStackingCommand_0;

	// Token: 0x0400414A RID: 16714
	private static readonly IntPtr NativeMethodInfoPtr_ResetDefaultCommand_Public_Void_0;

	// Token: 0x0400414B RID: 16715
	private static readonly IntPtr NativeMethodInfoPtr_ExecuteCommand_Public_Void_0;

	// Token: 0x0400414C RID: 16716
	private static readonly IntPtr NativeMethodInfoPtr_ClosePeekCanvas_Private_Void_0;

	// Token: 0x0400414D RID: 16717
	private static readonly IntPtr NativeMethodInfoPtr_ForceCloseCanvases_Private_Void_Int32_0;

	// Token: 0x0400414E RID: 16718
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

	// Token: 0x020002F7 RID: 759
	public enum UIStackingCommand
	{
		// Token: 0x04004150 RID: 16720
		Default,
		// Token: 0x04004151 RID: 16721
		Close,
		// Token: 0x04004152 RID: 16722
		ForceClose,
		// Token: 0x04004153 RID: 16723
		ForceCloseAll
	}
}
