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

// Token: 0x02000241 RID: 577
[Token(Token = "0x2000241")]
public class UIValueBindingArrow : MonoBehaviour, IPointerEnterHandler, IEventSystemHandler, IPointerExitHandler, IPointerClickHandler
{
	// Token: 0x06001639 RID: 5689 RVA: 0x00033674 File Offset: 0x00031874
	[Token(Token = "0x6001639")]
	[Address(RVA = "0x8B57F0", Offset = "0x8B45F0", VA = "0x1808B57F0")]
	public void Init(Action clickedHandler, Action pointerEnterHandler, Action pointerExitHandler)
	{
		this.clickedHandler = clickedHandler;
		this.pointerEnterHandler = pointerEnterHandler;
		this.pointerExitHandler = pointerExitHandler;
		this.isActive = false;
	}

	// Token: 0x0600163A RID: 5690 RVA: 0x000336A0 File Offset: 0x000318A0
	[Token(Token = "0x600163A")]
	[Address(RVA = "0x8B5A10", Offset = "0x8B4810", VA = "0x1808B5A10", Slot = "4")]
	public void OnPointerEnter(PointerEventData eventData)
	{
		this.PreformPointerTriggerEffect(1.25f);
		Action action = this.pointerEnterHandler;
		if (action != 0)
		{
			action();
			return;
		}
	}

	// Token: 0x0600163B RID: 5691 RVA: 0x000336CC File Offset: 0x000318CC
	[Token(Token = "0x600163B")]
	[Address(RVA = "0x8B5A50", Offset = "0x8B4850", VA = "0x1808B5A50", Slot = "5")]
	public void OnPointerExit(PointerEventData eventData)
	{
		this.PreformPointerTriggerEffect(1f);
		Action action = this.pointerExitHandler;
		if (action != 0)
		{
			action();
			return;
		}
	}

	// Token: 0x0600163C RID: 5692 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600163C")]
	[Address(RVA = "0x8B5850", Offset = "0x8B4650", VA = "0x1808B5850", Slot = "6")]
	public void OnPointerClick(PointerEventData eventData)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600163D RID: 5693 RVA: 0x000336F8 File Offset: 0x000318F8
	[Token(Token = "0x600163D")]
	[Address(RVA = "0x6FCDB0", Offset = "0x6FBBB0", VA = "0x1806FCDB0")]
	public void UpdateActivation(bool isActive)
	{
		this.isActive = isActive;
	}

	// Token: 0x0600163E RID: 5694 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600163E")]
	[Address(RVA = "0x8B5BD0", Offset = "0x8B49D0", VA = "0x1808B5BD0")]
	public void UpdateAlpha(float alpha)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600163F RID: 5695 RVA: 0x0003370C File Offset: 0x0003190C
	[Token(Token = "0x600163F")]
	[Address(RVA = "0x8B5A90", Offset = "0x8B4890", VA = "0x1808B5A90")]
	private void PreformPointerTriggerEffect(float scale)
	{
		/*
An exception occurred when decompiling this method (0600163F)

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void UIValueBindingArrow::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](UIValueBindingArrow::root, ldloc:UIValueBindingArrow(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:UIValueBindingArrow[exp:object](this), ldftn:native int(UIValueBindingArrow::<PreformPointerTriggerEffect>b__14_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(UIValueBindingArrow::pointerEffect, ldloc:UIValueBindingArrow(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: 0x06001640 RID: 5696 RVA: 0x0003376C File Offset: 0x0003196C
	[Token(Token = "0x6001640")]
	[Address(RVA = "0x3088F0", Offset = "0x3076F0", VA = "0x1803088F0")]
	public UIValueBindingArrow()
	{
	}

	// Token: 0x0400210A RID: 8458
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x400210A")]
	[SerializeField]
	private RectTransform root;

	// Token: 0x0400210B RID: 8459
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x400210B")]
	[SerializeField]
	private Image image;

	// Token: 0x0400210C RID: 8460
	[FieldOffset(Offset = "0x28")]
	[Token(Token = "0x400210C")]
	private Action clickedHandler;

	// Token: 0x0400210D RID: 8461
	[FieldOffset(Offset = "0x30")]
	[Token(Token = "0x400210D")]
	private Action pointerEnterHandler;

	// Token: 0x0400210E RID: 8462
	[FieldOffset(Offset = "0x38")]
	[Token(Token = "0x400210E")]
	private Action pointerExitHandler;

	// Token: 0x0400210F RID: 8463
	[FieldOffset(Offset = "0x40")]
	[Token(Token = "0x400210F")]
	private Tween pointerEffect;

	// Token: 0x04002110 RID: 8464
	[FieldOffset(Offset = "0x48")]
	[Token(Token = "0x4002110")]
	private Tween clickEffect;

	// Token: 0x04002111 RID: 8465
	[FieldOffset(Offset = "0x50")]
	[Token(Token = "0x4002111")]
	private bool isActive;
}
