using System;
using System.Collections.Generic;
using Cpp2IlInjected;
using MarsSDK;
using UnityEngine;
using UnityEngine.UI;

// Token: 0x02000268 RID: 616
[Token(Token = "0x2000268")]
public class UIBattleSelect : GameCanvasBase
{
	// Token: 0x060016FE RID: 5886 RVA: 0x000339B8 File Offset: 0x00031BB8
	[Token(Token = "0x60016FE")]
	[Address(RVA = "0x5E8810", Offset = "0x5E7810", VA = "0x1805E8810")]
	public void SetBRTeleportData(BossRushTeleport data)
	{
		/*
An exception occurred when decompiling this method (060016FE)

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void UIBattleSelect::SetBRTeleportData(BossRushTeleport)

 ---> System.Exception: Basic block has to end with unconditional control flow. 
{; 	Block_0:; 	stfld:BossRushTeleport(UIBattleSelect::brTeleportData, ldloc:UIBattleSelect(this), ldloc:BossRushTeleport(data)); }; 
   at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1810
   at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 344
   at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
   at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
   --- End of inner exception stack trace ---
   at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
   at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1618
*/;
	}

	// Token: 0x060016FF RID: 5887 RVA: 0x000339CC File Offset: 0x00031BCC
	[Token(Token = "0x60016FF")]
	[Address(RVA = "0x19D5EF0", Offset = "0x19D4EF0", VA = "0x1819D5EF0", Slot = "11")]
	public override void Init()
	{
		int num;
		UINavigationSetter uinavigationSetter7;
		UIHandlerBase[] array9;
		UILabelHandler uilabelHandler4;
		for (;;)
		{
			UIBattleSelectHandler[] array = this.battleSelectHandlers;
			num = 0;
			if (num < array.Length)
			{
				array[num].index = num;
				num++;
				UIBattleSelectHandler[] array2 = this.battleSelectHandlers;
			}
			this.closeHandler.index = (int)((ulong)901L);
			int num2 = 0;
			UINavigationSetter uinavigationSetter = UINavigationSetter.Get(UINavigationMode.Horizontal, true, num2);
			UIHandlerBase[] array3 = new UIHandlerBase[2];
			UILabelHandler uilabelHandler = this.closeHandler;
			if (uilabelHandler == 0 || array3 != 0)
			{
				array3[0] = uilabelHandler;
				UILabelHandler uilabelHandler2 = this.closeHandler;
				if (uilabelHandler2 == 0 || array3 != 0)
				{
					array3[1] = uilabelHandler2;
					uinavigationSetter.Apply(array3);
					int num3 = 0;
					UINavigationSetter uinavigationSetter2 = UINavigationSetter.Get(UINavigationMode.Horizontal, true, num3);
					UIHandlerBase[] array4 = new UIHandlerBase[2];
					UIBattleSelectHandler uibattleSelectHandler = this.battleSelectHandlers[0];
					if (uibattleSelectHandler == 0 || array4 != 0)
					{
						array4[0] = uibattleSelectHandler;
						UIBattleSelectHandler uibattleSelectHandler2 = this.battleSelectHandlers[4];
						if (uibattleSelectHandler2 == 0 || array4 != 0)
						{
							array4[1] = uibattleSelectHandler2;
							uinavigationSetter2.Apply(array4);
							int num4 = 0;
							UINavigationSetter uinavigationSetter3 = UINavigationSetter.Get(UINavigationMode.Horizontal, true, num4);
							UIHandlerBase[] array5 = new UIHandlerBase[2];
							UIBattleSelectHandler uibattleSelectHandler3 = this.battleSelectHandlers[1];
							if (uibattleSelectHandler3 == 0 || array5 != 0)
							{
								array5[0] = uibattleSelectHandler3;
								UIBattleSelectHandler uibattleSelectHandler4 = this.battleSelectHandlers[5];
								if (uibattleSelectHandler4 == 0 || array5 != 0)
								{
									array5[1] = uibattleSelectHandler4;
									uinavigationSetter3.Apply(array5);
									int num5 = 0;
									UINavigationSetter uinavigationSetter4 = UINavigationSetter.Get(UINavigationMode.Horizontal, true, num5);
									UIHandlerBase[] array6 = new UIHandlerBase[2];
									UIBattleSelectHandler uibattleSelectHandler5 = this.battleSelectHandlers[2];
									if (uibattleSelectHandler5 == 0 || array6 != 0)
									{
										array6[0] = uibattleSelectHandler5;
										UIBattleSelectHandler uibattleSelectHandler6 = this.battleSelectHandlers[6];
										if (uibattleSelectHandler6 == 0 || array6 != 0)
										{
											array6[1] = uibattleSelectHandler6;
											uinavigationSetter4.Apply(array6);
											int num6 = 0;
											UINavigationSetter uinavigationSetter5 = UINavigationSetter.Get(UINavigationMode.Horizontal, true, num6);
											UIHandlerBase[] array7 = new UIHandlerBase[2];
											UIBattleSelectHandler uibattleSelectHandler7 = this.battleSelectHandlers[3];
											if (uibattleSelectHandler7 == 0 || array7 != 0)
											{
												array7[0] = uibattleSelectHandler7;
												UIBattleSelectHandler uibattleSelectHandler8 = this.battleSelectHandlers[7];
												if (uibattleSelectHandler8 == 0 || array7 != 0)
												{
													array7[1] = uibattleSelectHandler8;
													uinavigationSetter5.Apply(array7);
													int num7 = 0;
													UINavigationSetter uinavigationSetter6 = UINavigationSetter.Get(UINavigationMode.Vertical, true, num7);
													UIHandlerBase[] array8 = new UIHandlerBase[5];
													UIBattleSelectHandler uibattleSelectHandler9 = this.battleSelectHandlers[0];
													if (uibattleSelectHandler9 == 0 || array8 != 0)
													{
														array8[0] = uibattleSelectHandler9;
														UIBattleSelectHandler uibattleSelectHandler10 = this.battleSelectHandlers[1];
														if (uibattleSelectHandler10 == 0 || array8 != 0)
														{
															array8[1] = uibattleSelectHandler10;
															UIBattleSelectHandler uibattleSelectHandler11 = this.battleSelectHandlers[2];
															if (uibattleSelectHandler11 == 0 || array8 != 0)
															{
																array8[2] = uibattleSelectHandler11;
																UIBattleSelectHandler uibattleSelectHandler12 = this.battleSelectHandlers[3];
																if (uibattleSelectHandler12 == 0 || array8 != 0)
																{
																	array8[3] = uibattleSelectHandler12;
																	UILabelHandler uilabelHandler3 = this.closeHandler;
																	if (uilabelHandler3 == 0 || array8 != 0)
																	{
																		array8[4] = uilabelHandler3;
																		uinavigationSetter6.Apply(array8);
																		int num8 = 0;
																		uinavigationSetter7 = UINavigationSetter.Get(UINavigationMode.Vertical, true, num8);
																		array9 = new UIHandlerBase[5];
																		UIBattleSelectHandler uibattleSelectHandler13 = this.battleSelectHandlers[4];
																		if (uibattleSelectHandler13 == 0 || array9 != 0)
																		{
																			array9[0] = uibattleSelectHandler13;
																			UIBattleSelectHandler uibattleSelectHandler14 = this.battleSelectHandlers[5];
																			if (uibattleSelectHandler14 == 0 || array9 != 0)
																			{
																				array9[1] = uibattleSelectHandler14;
																				UIBattleSelectHandler uibattleSelectHandler15 = this.battleSelectHandlers[6];
																				if (uibattleSelectHandler15 == 0 || array9 != 0)
																				{
																					array9[2] = uibattleSelectHandler15;
																					UIBattleSelectHandler uibattleSelectHandler16 = this.battleSelectHandlers[7];
																					if (uibattleSelectHandler16 == 0 || array9 != 0)
																					{
																						array9[3] = uibattleSelectHandler16;
																						uilabelHandler4 = this.closeHandler;
																						if (uilabelHandler4 == 0 || array9 != 0)
																						{
																							break;
																						}
																					}
																				}
																			}
																		}
																	}
																}
															}
														}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
		array9[4] = uilabelHandler4;
		uinavigationSetter7.Apply(array9);
		UIBattleSelectHandler[] array10 = this.battleSelectHandlers;
		UILabelHandler uilabelHandler5 = this.closeHandler;
		UIBattleSelectHandler uibattleSelectHandler17 = array10[7];
		uilabelHandler5.SetupNavigationHandler(Direction2D.Up, uibattleSelectHandler17);
		UIBattleSelectHandler[] array11 = this.battleSelectHandlers;
		UILabelHandler uilabelHandler6 = this.closeHandler;
		UIBattleSelectHandler uibattleSelectHandler18 = array11[0];
		uilabelHandler6.SetupNavigationHandler(Direction2D.Down, uibattleSelectHandler18);
		UIBattleSelectHandler[] array12 = this.battleSelectHandlers;
		int length = array12.Length;
		if (num < length)
		{
			UIBattleSelectHandler uibattleSelectHandler19 = array12[num];
			Action<UIHandlerBase> action = new Action(this.OnTopHandlerSelected);
			uibattleSelectHandler19.onSelectedHandler = action;
			Action<UIHandlerBase> action2 = new Action(this.OnTopHandlerDeselected);
			uibattleSelectHandler19.onDeselectedHandler = action2;
			num++;
		}
		UILabelHandler uilabelHandler7 = this.closeHandler;
		Action<UIHandlerBase> action3 = new Action(this.OnBottomHandlerSelected);
		uilabelHandler7.onSelectedHandler = action3;
		UILabelHandler uilabelHandler8 = this.closeHandler;
		Action<UIHandlerBase> action4 = new Action(this.OnBottomHandlerDeselected);
		uilabelHandler8.onDeselectedHandler = action4;
		List<UIHandlerBase> list = new List();
		UIBattleSelectHandler[] array13 = this.battleSelectHandlers;
		list.AddRange(array13);
		UILabelHandler uilabelHandler9 = this.closeHandler;
		list.Add(uilabelHandler9);
		UIHandlerBase[] array14 = list.ToArray();
		this.navigator.BindPointerEnterEvent(array14);
		this.navigator.BindPointerExitEvent(array14);
	}

	// Token: 0x06001700 RID: 5888 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001700")]
	[Address(RVA = "0x19D5CE0", Offset = "0x19D4CE0", VA = "0x1819D5CE0", Slot = "12")]
	protected override void Appear(Action completeHandler)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001701 RID: 5889 RVA: 0x00033EE0 File Offset: 0x000320E0
	[Token(Token = "0x6001701")]
	[Address(RVA = "0x94CB50", Offset = "0x94BB50", VA = "0x18094CB50", Slot = "18")]
	public override void Move(Direction2D direction)
	{
		this.navigator.Move(direction);
	}

	// Token: 0x06001702 RID: 5890 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001702")]
	[Address(RVA = "0x19D75C0", Offset = "0x19D65C0", VA = "0x1819D75C0")]
	private void OnTopHandlerSelected(UIHandlerBase handler)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001703 RID: 5891 RVA: 0x00033F00 File Offset: 0x00032100
	[Token(Token = "0x6001703")]
	[Address(RVA = "0xE7FD00", Offset = "0xE7ED00", VA = "0x180E7FD00")]
	private void OnTopHandlerDeselected(UIHandlerBase handler)
	{
		int index = this.navigator.currentHandler.index;
		if (handler.index == index)
		{
			this.topNavigationEffect.Hide();
			return;
		}
	}

	// Token: 0x06001704 RID: 5892 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001704")]
	[Address(RVA = "0x19D6F00", Offset = "0x19D5F00", VA = "0x1819D6F00")]
	private void OnBottomHandlerSelected(UIHandlerBase handler)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001705 RID: 5893 RVA: 0x00033F3C File Offset: 0x0003213C
	[Token(Token = "0x6001705")]
	[Address(RVA = "0x95C100", Offset = "0x95B100", VA = "0x18095C100")]
	private void OnBottomHandlerDeselected(UIHandlerBase handler)
	{
		this.bottomNavigationEffect.Hide();
	}

	// Token: 0x06001706 RID: 5894 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001706")]
	[Address(RVA = "0x19D7D00", Offset = "0x19D6D00", VA = "0x1819D7D00", Slot = "21")]
	public override void Submit()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001707 RID: 5895 RVA: 0x00033F5C File Offset: 0x0003215C
	[Token(Token = "0x6001707")]
	[Address(RVA = "0x19D5EC0", Offset = "0x19D4EC0", VA = "0x1819D5EC0", Slot = "23")]
	public override void Cancel()
	{
		base.Cancel();
		this.brTeleportData.Close();
	}

	// Token: 0x06001708 RID: 5896 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001708")]
	[Address(RVA = "0x19D76E0", Offset = "0x19D66E0", VA = "0x1819D76E0")]
	private void PerformBottomSubmissionEffect()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001709 RID: 5897 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001709")]
	[Address(RVA = "0x19D77B0", Offset = "0x19D67B0", VA = "0x1819D77B0")]
	private void ShowBattleSelectMessageBox(UIBattleSelectHandler handler)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600170A RID: 5898 RVA: 0x00033F80 File Offset: 0x00032180
	[Token(Token = "0x600170A")]
	[Address(RVA = "0x19D6E20", Offset = "0x19D5E20", VA = "0x1819D6E20", Slot = "25")]
	public override void Localize(LocalizationData data)
	{
		Text text = this.title;
		string text2 = data.systemText.GetText(1302);
		text.text = text2;
		GameTextData systemText = data.systemText;
		UILabelHandler uilabelHandler = this.closeHandler;
		string text3 = systemText.GetText(183);
		uilabelHandler.SetLabel(text3);
		GameFontPack fontPack = data.fontPack;
		Text text4 = this.title;
		Font light = fontPack.light;
		text4.font = light;
		GameFontPack fontPack2 = data.fontPack;
		UILabelHandler uilabelHandler2 = this.closeHandler;
		Font medium = fontPack2.medium;
		uilabelHandler2.SetFont(medium);
	}

	// Token: 0x0600170B RID: 5899 RVA: 0x0003401C File Offset: 0x0003221C
	[Token(Token = "0x600170B")]
	[Address(RVA = "0x94D9C0", Offset = "0x94C9C0", VA = "0x18094D9C0")]
	public UIBattleSelect()
	{
	}

	// Token: 0x0400229C RID: 8860
	[FieldOffset(Offset = "0x58")]
	[Token(Token = "0x400229C")]
	[SerializeField]
	private Text title;

	// Token: 0x0400229D RID: 8861
	[FieldOffset(Offset = "0x60")]
	[Token(Token = "0x400229D")]
	[SerializeField]
	private UIBattleSelectHandler[] battleSelectHandlers;

	// Token: 0x0400229E RID: 8862
	[FieldOffset(Offset = "0x68")]
	[Token(Token = "0x400229E")]
	[SerializeField]
	private UINavigationEffect topNavigationEffect;

	// Token: 0x0400229F RID: 8863
	[FieldOffset(Offset = "0x70")]
	[Token(Token = "0x400229F")]
	[SerializeField]
	private UILabelHandler closeHandler;

	// Token: 0x040022A0 RID: 8864
	[FieldOffset(Offset = "0x78")]
	[Token(Token = "0x40022A0")]
	[SerializeField]
	private Image bottomSubmissionEffect;

	// Token: 0x040022A1 RID: 8865
	[FieldOffset(Offset = "0x80")]
	[Token(Token = "0x40022A1")]
	[SerializeField]
	private UINavigationEffect bottomNavigationEffect;

	// Token: 0x040022A2 RID: 8866
	[FieldOffset(Offset = "0x88")]
	[Token(Token = "0x40022A2")]
	[SerializeField]
	private GameStage currentStage;

	// Token: 0x040022A3 RID: 8867
	[FieldOffset(Offset = "0x8C")]
	[Token(Token = "0x40022A3")]
	[SerializeField]
	private int currentSavePoint;

	// Token: 0x040022A4 RID: 8868
	[FieldOffset(Offset = "0x90")]
	[Token(Token = "0x40022A4")]
	[SerializeField]
	private GameStage handlerStage;

	// Token: 0x040022A5 RID: 8869
	[FieldOffset(Offset = "0x94")]
	[Token(Token = "0x40022A5")]
	[SerializeField]
	private int handlerSavePoint;

	// Token: 0x040022A6 RID: 8870
	[Token(Token = "0x40022A6")]
	private const int CONFIRM_HANDLER_INDEX = 901;

	// Token: 0x040022A7 RID: 8871
	[FieldOffset(Offset = "0x98")]
	[Token(Token = "0x40022A7")]
	private BossRushTeleport brTeleportData;

	// Token: 0x040022A8 RID: 8872
	[FieldOffset(Offset = "0xA0")]
	[Token(Token = "0x40022A8")]
	private int previousHandlerIndex;
}
