using System;
using Cpp2IlInjected;
using DG.Tweening;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;

// Token: 0x020002C1 RID: 705
[Token(Token = "0x20002C1")]
public class UISwitchArrow : MonoBehaviour, IPointerEnterHandler, IEventSystemHandler, IPointerExitHandler, IPointerClickHandler
{
	// Token: 0x17000113 RID: 275
	// (get) Token: 0x06001A93 RID: 6803 RVA: 0x00041170 File Offset: 0x0003F370
	[Token(Token = "0x17000113")]
	public bool PointerEntered
	{
		[Token(Token = "0x6001A93")]
		[Address(RVA = "0x9622B0", Offset = "0x9612B0", VA = "0x1809622B0")]
		get
		{
			return this.pointerEntered;
		}
	}

	// Token: 0x06001A94 RID: 6804 RVA: 0x00041184 File Offset: 0x0003F384
	[Token(Token = "0x6001A94")]
	[Address(RVA = "0x369EF0", Offset = "0x368EF0", VA = "0x180369EF0")]
	public void BindClickEvent(Action clickedHandler)
	{
		/*
An exception occurred when decompiling this method (06001A94)

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void UISwitchArrow::BindClickEvent(System.Action)

 ---> System.Exception: Basic block has to end with unconditional control flow. 
{; 	Block_0:; 	stfld:Action(UISwitchArrow::clickedHandler, ldloc:UISwitchArrow(this), ldloc:Action(clickedHandler)); }; 
   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: 0x06001A95 RID: 6805 RVA: 0x00041198 File Offset: 0x0003F398
	[Token(Token = "0x6001A95")]
	[Address(RVA = "0x376260", Offset = "0x375260", VA = "0x180376260")]
	public void BindPointerEnterEvent(Action pointerEnterHandler)
	{
		/*
An exception occurred when decompiling this method (06001A95)

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void UISwitchArrow::BindPointerEnterEvent(System.Action)

 ---> System.Exception: Basic block has to end with unconditional control flow. 
{; 	Block_0:; 	stfld:Action(UISwitchArrow::pointerEnterHandler, ldloc:UISwitchArrow(this), ldloc:Action(pointerEnterHandler)); }; 
   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: 0x06001A96 RID: 6806 RVA: 0x000411AC File Offset: 0x0003F3AC
	[Token(Token = "0x6001A96")]
	[Address(RVA = "0x961DC0", Offset = "0x960DC0", VA = "0x180961DC0", Slot = "4")]
	public void OnPointerEnter(PointerEventData eventData)
	{
		this.pointerEntered = true;
		if (this.isActive)
		{
			Action action = this.pointerEnterHandler;
			if (action != 0)
			{
				action();
			}
			this.PreformPointerTriggerEffect(1.25f);
			Game.PlayHandlerSE(UIHandlerSFX.Navigation);
			return;
		}
	}

	// Token: 0x06001A97 RID: 6807 RVA: 0x000411EC File Offset: 0x0003F3EC
	[Token(Token = "0x6001A97")]
	[Address(RVA = "0x961E50", Offset = "0x960E50", VA = "0x180961E50", Slot = "5")]
	public void OnPointerExit(PointerEventData eventData)
	{
		this.pointerEntered = false;
		if (this.isActive)
		{
			this.PreformPointerTriggerEffect(1f);
			return;
		}
	}

	// Token: 0x06001A98 RID: 6808 RVA: 0x00041218 File Offset: 0x0003F418
	[Token(Token = "0x6001A98")]
	[Address(RVA = "0x961DA0", Offset = "0x960DA0", VA = "0x180961DA0", Slot = "6")]
	public void OnPointerClick(PointerEventData eventData)
	{
		if (this.isActive)
		{
			Action action = this.clickedHandler;
			if (action != 0)
			{
				action();
				return;
			}
		}
	}

	// Token: 0x06001A99 RID: 6809 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001A99")]
	[Address(RVA = "0x962180", Offset = "0x961180", VA = "0x180962180")]
	public void UpdateActivation(bool enable)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001A9A RID: 6810 RVA: 0x00041240 File Offset: 0x0003F440
	[Token(Token = "0x6001A9A")]
	[Address(RVA = "0x962020", Offset = "0x961020", VA = "0x180962020")]
	private void PreformPointerTriggerEffect(float scale)
	{
		/*
An exception occurred when decompiling this method (06001A9A)

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void UISwitchArrow::PreformPointerTriggerEffect(System.Single)

 ---> System.Exception: Basic block has to end with unconditional control flow. 
{; 	IL_14:; 	stloc:class [DOTween]DG.Tweening.Core.TweenerCore`3<valuetype [UnityEngine.CoreModule]UnityEngine.Vector3, valuetype [UnityEngine.CoreModule]UnityEngine.Vector3, valuetype [DOTween]DG.Tweening.Plugins.Options.VectorOptions>(var_2_2D, call:class [DOTween]DG.Tweening.Core.TweenerCore`3<valuetype [UnityEngine.CoreModule]UnityEngine.Vector3, valuetype [UnityEngine.CoreModule]UnityEngine.Vector3, valuetype [DOTween]DG.Tweening.Plugins.Options.VectorOptions>(TweenSettingsExtensions::SetEase, call:TweenerCore`3[exp:class [DOTween]DG.Tweening.Core.TweenerCore`3<valuetype [UnityEngine.CoreModule]UnityEngine.Vector3, valuetype [UnityEngine.CoreModule]UnityEngine.Vector3, valuetype [DOTween]DG.Tweening.Plugins.Options.VectorOptions>](ShortcutExtensions::DOScale, ldfld:RectTransform[exp:Transform](UISwitchArrow::root, ldloc:UISwitchArrow(this)), ldloc:float32(scale), ldc.r4:float32(0.2)), conv.u4:uint32[exp:Ease](ldc.i4:int32[exp:uint32](15)))); 	stloc:TweenCallback(var_3_3A, newobj:TweenCallback(TweenCallback::.ctor, ldloc:UISwitchArrow[exp:object](this), ldftn:native int(UISwitchArrow::<PreformPointerTriggerEffect>b__16_0))); 	stloc:class [DOTween]DG.Tweening.Core.TweenerCore`3<valuetype [UnityEngine.CoreModule]UnityEngine.Vector3, valuetype [UnityEngine.CoreModule]UnityEngine.Vector3, valuetype [DOTween]DG.Tweening.Plugins.Options.VectorOptions>(var_4_47, call:class [DOTween]DG.Tweening.Core.TweenerCore`3<valuetype [UnityEngine.CoreModule]UnityEngine.Vector3, valuetype [UnityEngine.CoreModule]UnityEngine.Vector3, valuetype [DOTween]DG.Tweening.Plugins.Options.VectorOptions>(TweenExtensions::Play, call:class [DOTween]DG.Tweening.Core.TweenerCore`3<valuetype [UnityEngine.CoreModule]UnityEngine.Vector3, valuetype [UnityEngine.CoreModule]UnityEngine.Vector3, valuetype [DOTween]DG.Tweening.Plugins.Options.VectorOptions>(TweenSettingsExtensions::OnComplete, ldloc:class [DOTween]DG.Tweening.Core.TweenerCore`3<valuetype [UnityEngine.CoreModule]UnityEngine.Vector3, valuetype [UnityEngine.CoreModule]UnityEngine.Vector3, valuetype [DOTween]DG.Tweening.Plugins.Options.VectorOptions>(var_2_2D), ldloc:TweenCallback(var_3_3A)))); 	stfld:Tween(UISwitchArrow::pointerEffect, ldloc:UISwitchArrow(this), ldloc:class [DOTween]DG.Tweening.Core.TweenerCore`3<valuetype [UnityEngine.CoreModule]UnityEngine.Vector3, valuetype [UnityEngine.CoreModule]UnityEngine.Vector3, valuetype [DOTween]DG.Tweening.Plugins.Options.VectorOptions>[exp:Tween](var_4_47)); }; 
   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: 0x06001A9B RID: 6811 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001A9B")]
	[Address(RVA = "0x961E70", Offset = "0x960E70", VA = "0x180961E70")]
	public void PerformClickEffect()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001A9C RID: 6812 RVA: 0x000412A0 File Offset: 0x0003F4A0
	[Token(Token = "0x6001A9C")]
	[Address(RVA = "0x9622A0", Offset = "0x9612A0", VA = "0x1809622A0")]
	public UISwitchArrow()
	{
	}

	// Token: 0x040024D2 RID: 9426
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x40024D2")]
	[SerializeField]
	private RectTransform root;

	// Token: 0x040024D3 RID: 9427
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x40024D3")]
	[SerializeField]
	private Image image;

	// Token: 0x040024D4 RID: 9428
	[FieldOffset(Offset = "0x28")]
	[Token(Token = "0x40024D4")]
	private Tween pointerEffect;

	// Token: 0x040024D5 RID: 9429
	[FieldOffset(Offset = "0x30")]
	[Token(Token = "0x40024D5")]
	private Tween clickEffect;

	// Token: 0x040024D6 RID: 9430
	[FieldOffset(Offset = "0x38")]
	[Token(Token = "0x40024D6")]
	private Action clickedHandler;

	// Token: 0x040024D7 RID: 9431
	[FieldOffset(Offset = "0x40")]
	[Token(Token = "0x40024D7")]
	private Action pointerEnterHandler;

	// Token: 0x040024D8 RID: 9432
	[FieldOffset(Offset = "0x48")]
	[Token(Token = "0x40024D8")]
	private bool isActive = true;

	// Token: 0x040024D9 RID: 9433
	[FieldOffset(Offset = "0x49")]
	[Token(Token = "0x40024D9")]
	private bool pointerEntered;
}
