using System;
using Cpp2IlInjected;
using DG.Tweening;
using DG.Tweening.Core;
using DG.Tweening.Plugins.Options;
using MarsSDK;
using UnityEngine;
using UnityEngine.UI;

// Token: 0x0200023C RID: 572
[Token(Token = "0x200023C")]
public abstract class UISubSettingsBase : MonoBehaviour, IUIController
{
	// Token: 0x060015F4 RID: 5620 RVA: 0x0003267C File Offset: 0x0003087C
	[Token(Token = "0x60015F4")]
	[Address(RVA = "0x18ADC10", Offset = "0x18ACA10", VA = "0x1818ADC10", Slot = "11")]
	public virtual void Init(CanvasGroup mainCanvasGroup, Action cancelHandler, Text title)
	{
		/*
An exception occurred when decompiling this method (060015F4)

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void UISubSettingsBase::Init(UnityEngine.CanvasGroup,System.Action,UnityEngine.UI.Text)

 ---> System.Exception: Basic block has to end with unconditional control flow. 
{; 	Block_0:; 	stfld:CanvasGroup(UISubSettingsBase::mainCanvasGroup, ldloc:UISubSettingsBase(this), ldloc:CanvasGroup(mainCanvasGroup)); 	stfld:Action(UISubSettingsBase::cancelHandler, ldloc:UISubSettingsBase(this), ldloc:Action(cancelHandler)); 	stfld:Text(UISubSettingsBase::title, ldloc:UISubSettingsBase(this), ldloc:Text(title)); }; 
   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: 0x060015F5 RID: 5621
	[Token(Token = "0x60015F5")]
	[Address(Slot = "12")]
	public abstract void Open();

	// Token: 0x060015F6 RID: 5622 RVA: 0x000326A0 File Offset: 0x000308A0
	[Token(Token = "0x60015F6")]
	[Address(RVA = "0x18ADA10", Offset = "0x18AC810", VA = "0x1818ADA10")]
	public void Dispose()
	{
		CanvasGroup canvasGroup = this.subCanvasGroup;
		int num = 0;
		canvasGroup.alpha = (float)num;
		CanvasGroup canvasGroup2 = this.subCanvasGroup;
		int num2 = 0;
		canvasGroup2.blocksRaycasts = num2 != 0;
	}

	// Token: 0x060015F7 RID: 5623 RVA: 0x000326D4 File Offset: 0x000308D4
	[Token(Token = "0x60015F7")]
	[Address(RVA = "0x18AD7B0", Offset = "0x18AC5B0", VA = "0x1818AD7B0")]
	protected void Appear()
	{
		CanvasGroup canvasGroup = this.subCanvasGroup;
		int num = 0;
		int num2 = canvasGroup.DOKill(num != 0);
		TweenerCore<float, float, FloatOptions> tweenerCore = DOTweenModuleUI.DOFade(this.subCanvasGroup, 1f, 0.3f).SetEase((Ease)((uint)15));
		TweenCallback tweenCallback = delegate
		{
			Game.BindUIController(this);
			Game.EnablePauseMenuAction();
			this.subCanvasGroup.blocksRaycasts = true;
			UINavigator uinavigator = this.navigator;
			Action<UIHandlerBase> action = new Action(this.UpdateCursorPosition);
			uinavigator.onMovedEvent = action;
			throw new NullReferenceException();
		};
		TweenerCore<float, float, FloatOptions> tweenerCore2 = tweenerCore.OnComplete(tweenCallback).Play<TweenerCore<float, float, FloatOptions>>();
	}

	// Token: 0x060015F8 RID: 5624 RVA: 0x00032730 File Offset: 0x00030930
	[Token(Token = "0x60015F8")]
	[Address(RVA = "0x18ADB20", Offset = "0x18AC920", VA = "0x1818ADB20")]
	protected void Hide()
	{
		Game.UnbindUIController();
		Game.DisablePauseMenuAction();
		this.navigator.UnbindHandlerMovedEvent();
		this.navigator.Clear();
		CanvasGroup canvasGroup = this.subCanvasGroup;
		int num = 0;
		int num2 = canvasGroup.DOKill(num != 0);
		CanvasGroup canvasGroup2 = this.subCanvasGroup;
		int num3 = 0;
		canvasGroup2.blocksRaycasts = num3 != 0;
		CanvasGroup canvasGroup3 = this.subCanvasGroup;
		int num4 = 0;
		TweenerCore<float, float, FloatOptions> tweenerCore = DOTweenModuleUI.DOFade(canvasGroup3, (float)num4, 0.5f).SetEase((Ease)((uint)15)).Play<TweenerCore<float, float, FloatOptions>>();
	}

	// Token: 0x060015F9 RID: 5625 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60015F9")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "13")]
	public virtual void Move(Direction2D direction)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060015FA RID: 5626 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60015FA")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "14")]
	public virtual void SwitchLeftward()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060015FB RID: 5627 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60015FB")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "15")]
	public virtual void SwitchRightward()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060015FC RID: 5628 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60015FC")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "16")]
	public virtual void Submit()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060015FD RID: 5629 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60015FD")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "17")]
	public virtual void Hold(bool onHolding)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060015FE RID: 5630 RVA: 0x000327B8 File Offset: 0x000309B8
	[Token(Token = "0x60015FE")]
	[Address(RVA = "0x18AD8B0", Offset = "0x18AC6B0", VA = "0x1818AD8B0", Slot = "18")]
	public virtual void Cancel()
	{
		Game.UnbindUIController();
		Game.DisablePauseMenuAction();
		this.navigator.UnbindHandlerMovedEvent();
		this.navigator.Clear();
		CanvasGroup canvasGroup = this.subCanvasGroup;
		int num = 0;
		int num2 = canvasGroup.DOKill(num != 0);
		CanvasGroup canvasGroup2 = this.subCanvasGroup;
		int num3 = 0;
		canvasGroup2.blocksRaycasts = num3 != 0;
		CanvasGroup canvasGroup3 = this.subCanvasGroup;
		int num4 = 0;
		TweenerCore<float, float, FloatOptions> tweenerCore = DOTweenModuleUI.DOFade(canvasGroup3, (float)num4, 0.5f).SetEase((Ease)((uint)15)).Play<TweenerCore<float, float, FloatOptions>>();
		Game.PlayCanvasSE(UICanvasSFX.Close);
		Action action = this.cancelHandler;
		if (action != 0)
		{
			action();
			return;
		}
	}

	// Token: 0x060015FF RID: 5631 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60015FF")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "10")]
	public void SpecialAction()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001600 RID: 5632
	[Token(Token = "0x6001600")]
	[Address(Slot = "19")]
	public abstract bool IsDirty();

	// Token: 0x06001601 RID: 5633 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001601")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "20")]
	public virtual void Localize(LocalizationData data)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001602 RID: 5634 RVA: 0x00032858 File Offset: 0x00030A58
	[Token(Token = "0x6001602")]
	[Address(RVA = "0x18ADC70", Offset = "0x18ACA70", VA = "0x1818ADC70")]
	protected void PerformSubmissionFadingEffect(Image submissionEffect)
	{
		TweenerCore<Color, Color, ColorOptions> tweenerCore = DOTweenModuleUI.DOFade(submissionEffect, 1f, 0.15f);
		int num = 0;
		int num2 = 0;
		TweenerCore<Color, Color, ColorOptions> tweenerCore2 = TweenSettingsExtensions.From(tweenerCore, (float)num2, true, num != 0).SetLoops(2, LoopType.Yoyo).Play<TweenerCore<Color, Color, ColorOptions>>();
	}

	// Token: 0x06001603 RID: 5635 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001603")]
	[Address(RVA = "0x18ADE80", Offset = "0x18ACC80", VA = "0x1818ADE80")]
	private void UpdateCursorPosition(UIHandlerBase handler)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001604 RID: 5636 RVA: 0x00032894 File Offset: 0x00030A94
	[Token(Token = "0x6001604")]
	[Address(RVA = "0x18AD6B0", Offset = "0x18AC4B0", VA = "0x1818AD6B0")]
	protected void AppearBaseCanvasGroup()
	{
		CanvasGroup canvasGroup = this.mainCanvasGroup;
		int num = 0;
		int num2 = canvasGroup.DOKill(num != 0);
		TweenerCore<float, float, FloatOptions> tweenerCore = DOTweenModuleUI.DOFade(this.mainCanvasGroup, 1f, 0.3f).SetEase((Ease)((uint)15));
		TweenCallback tweenCallback = delegate
		{
			Game.BindUIController(this);
			Game.EnablePauseMenuAction();
			this.mainCanvasGroup.blocksRaycasts = true;
		};
		TweenerCore<float, float, FloatOptions> tweenerCore2 = tweenerCore.OnComplete(tweenCallback).Play<TweenerCore<float, float, FloatOptions>>();
	}

	// Token: 0x06001605 RID: 5637 RVA: 0x000328F0 File Offset: 0x00030AF0
	[Token(Token = "0x6001605")]
	[Address(RVA = "0x18ADA50", Offset = "0x18AC850", VA = "0x1818ADA50")]
	protected void HideBaseCanvasGroup()
	{
		Game.UnbindUIController();
		Game.DisablePauseMenuAction();
		CanvasGroup canvasGroup = this.mainCanvasGroup;
		int num = 0;
		canvasGroup.blocksRaycasts = num != 0;
		CanvasGroup canvasGroup2 = this.mainCanvasGroup;
		int num2 = 0;
		int num3 = canvasGroup2.DOKill(num2 != 0);
		CanvasGroup canvasGroup3 = this.mainCanvasGroup;
		int num4 = 0;
		TweenerCore<float, float, FloatOptions> tweenerCore = DOTweenModuleUI.DOFade(canvasGroup3, (float)num4, 0.5f).SetEase((Ease)((uint)15)).Play<TweenerCore<float, float, FloatOptions>>();
	}

	// Token: 0x06001606 RID: 5638 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001606")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "21")]
	public virtual void UpdateDirtyCheckValue()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001607 RID: 5639 RVA: 0x00032960 File Offset: 0x00030B60
	[Token(Token = "0x6001607")]
	[Address(RVA = "0x3088F0", Offset = "0x3076F0", VA = "0x1803088F0")]
	protected UISubSettingsBase()
	{
	}

	// Token: 0x040020F2 RID: 8434
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x40020F2")]
	[SerializeField]
	protected CanvasGroup subCanvasGroup;

	// Token: 0x040020F3 RID: 8435
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x40020F3")]
	[SerializeField]
	protected UINavigator navigator;

	// Token: 0x040020F4 RID: 8436
	[FieldOffset(Offset = "0x28")]
	[Token(Token = "0x40020F4")]
	protected CanvasGroup mainCanvasGroup;

	// Token: 0x040020F5 RID: 8437
	[FieldOffset(Offset = "0x30")]
	[Token(Token = "0x40020F5")]
	protected Text title;

	// Token: 0x040020F6 RID: 8438
	[FieldOffset(Offset = "0x38")]
	[Token(Token = "0x40020F6")]
	protected Action cancelHandler;
}
