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

// Token: 0x02000286 RID: 646
[Token(Token = "0x2000286")]
public abstract class UISubSettingsBase : MonoBehaviour, IUIController
{
	// Token: 0x06001813 RID: 6163 RVA: 0x00037764 File Offset: 0x00035964
	[Token(Token = "0x6001813")]
	[Address(RVA = "0x961690", Offset = "0x960690", VA = "0x180961690", Slot = "11")]
	public virtual void Init(CanvasGroup mainCanvasGroup, Action cancelHandler, Text title)
	{
		/*
An exception occurred when decompiling this method (06001813)

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: 0x06001814 RID: 6164
	[Token(Token = "0x6001814")]
	[Address(Slot = "12")]
	public abstract void Open();

	// Token: 0x06001815 RID: 6165 RVA: 0x00037788 File Offset: 0x00035988
	[Token(Token = "0x6001815")]
	[Address(RVA = "0x961490", Offset = "0x960490", VA = "0x180961490")]
	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: 0x06001816 RID: 6166 RVA: 0x000377BC File Offset: 0x000359BC
	[Token(Token = "0x6001816")]
	[Address(RVA = "0x961230", Offset = "0x960230", VA = "0x180961230")]
	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: 0x06001817 RID: 6167 RVA: 0x00037818 File Offset: 0x00035A18
	[Token(Token = "0x6001817")]
	[Address(RVA = "0x9615A0", Offset = "0x9605A0", VA = "0x1809615A0")]
	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: 0x06001818 RID: 6168 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001818")]
	[Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0", Slot = "13")]
	public virtual void Move(Direction2D direction)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001819 RID: 6169 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001819")]
	[Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0", Slot = "14")]
	public virtual void SwitchLeftward()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600181A RID: 6170 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600181A")]
	[Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0", Slot = "15")]
	public virtual void SwitchRightward()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600181B RID: 6171 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600181B")]
	[Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0", Slot = "16")]
	public virtual void Submit()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600181C RID: 6172 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600181C")]
	[Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0", Slot = "17")]
	public virtual void Hold(bool onHolding)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600181D RID: 6173 RVA: 0x000378A0 File Offset: 0x00035AA0
	[Token(Token = "0x600181D")]
	[Address(RVA = "0x961330", Offset = "0x960330", VA = "0x180961330", 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: 0x0600181E RID: 6174 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600181E")]
	[Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0", Slot = "10")]
	public void SpecialAction()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600181F RID: 6175
	[Token(Token = "0x600181F")]
	[Address(Slot = "19")]
	public abstract bool IsDirty();

	// Token: 0x06001820 RID: 6176 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001820")]
	[Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0", Slot = "20")]
	public virtual void Localize(LocalizationData data)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001821 RID: 6177 RVA: 0x00037940 File Offset: 0x00035B40
	[Token(Token = "0x6001821")]
	[Address(RVA = "0x9616F0", Offset = "0x9606F0", VA = "0x1809616F0")]
	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: 0x06001822 RID: 6178 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001822")]
	[Address(RVA = "0x961900", Offset = "0x960900", VA = "0x180961900")]
	private void UpdateCursorPosition(UIHandlerBase handler)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001823 RID: 6179 RVA: 0x0003797C File Offset: 0x00035B7C
	[Token(Token = "0x6001823")]
	[Address(RVA = "0x961130", Offset = "0x960130", VA = "0x180961130")]
	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: 0x06001824 RID: 6180 RVA: 0x000379D8 File Offset: 0x00035BD8
	[Token(Token = "0x6001824")]
	[Address(RVA = "0x9614D0", Offset = "0x9604D0", VA = "0x1809614D0")]
	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: 0x06001825 RID: 6181 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001825")]
	[Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0", Slot = "21")]
	public virtual void UpdateDirtyCheckValue()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001826 RID: 6182 RVA: 0x00037A48 File Offset: 0x00035C48
	[Token(Token = "0x6001826")]
	[Address(RVA = "0x328C40", Offset = "0x327C40", VA = "0x180328C40")]
	protected UISubSettingsBase()
	{
	}

	// Token: 0x0400233F RID: 9023
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x400233F")]
	[SerializeField]
	protected CanvasGroup subCanvasGroup;

	// Token: 0x04002340 RID: 9024
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x4002340")]
	[SerializeField]
	protected UINavigator navigator;

	// Token: 0x04002341 RID: 9025
	[FieldOffset(Offset = "0x28")]
	[Token(Token = "0x4002341")]
	protected CanvasGroup mainCanvasGroup;

	// Token: 0x04002342 RID: 9026
	[FieldOffset(Offset = "0x30")]
	[Token(Token = "0x4002342")]
	protected Text title;

	// Token: 0x04002343 RID: 9027
	[FieldOffset(Offset = "0x38")]
	[Token(Token = "0x4002343")]
	protected Action cancelHandler;
}
