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

// Token: 0x0200028B RID: 651
[Token(Token = "0x200028B")]
public class UIValueBindingArrow : MonoBehaviour, IPointerEnterHandler, IEventSystemHandler, IPointerExitHandler, IPointerClickHandler
{
	// Token: 0x06001858 RID: 6232 RVA: 0x00038760 File Offset: 0x00036960
	[Token(Token = "0x6001858")]
	[Address(RVA = "0xCC0050", Offset = "0xCBF050", VA = "0x180CC0050")]
	public void Init(Action clickedHandler, Action pointerEnterHandler, Action pointerExitHandler)
	{
		this.clickedHandler = clickedHandler;
		this.pointerEnterHandler = pointerEnterHandler;
		this.pointerExitHandler = pointerExitHandler;
		this.isActive = false;
	}

	// Token: 0x06001859 RID: 6233 RVA: 0x0003878C File Offset: 0x0003698C
	[Token(Token = "0x6001859")]
	[Address(RVA = "0xCC0270", Offset = "0xCBF270", VA = "0x180CC0270", Slot = "4")]
	public void OnPointerEnter(PointerEventData eventData)
	{
		this.PreformPointerTriggerEffect(1.25f);
		Action action = this.pointerEnterHandler;
		if (action != 0)
		{
			action();
			return;
		}
	}

	// Token: 0x0600185A RID: 6234 RVA: 0x000387B8 File Offset: 0x000369B8
	[Token(Token = "0x600185A")]
	[Address(RVA = "0xCC02B0", Offset = "0xCBF2B0", VA = "0x180CC02B0", Slot = "5")]
	public void OnPointerExit(PointerEventData eventData)
	{
		this.PreformPointerTriggerEffect(1f);
		Action action = this.pointerExitHandler;
		if (action != 0)
		{
			action();
			return;
		}
	}

	// Token: 0x0600185B RID: 6235 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600185B")]
	[Address(RVA = "0xCC00B0", Offset = "0xCBF0B0", VA = "0x180CC00B0", Slot = "6")]
	public void OnPointerClick(PointerEventData eventData)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600185C RID: 6236 RVA: 0x000387E4 File Offset: 0x000369E4
	[Token(Token = "0x600185C")]
	[Address(RVA = "0x770AF0", Offset = "0x76FAF0", VA = "0x180770AF0")]
	public void UpdateActivation(bool isActive)
	{
		this.isActive = isActive;
	}

	// Token: 0x0600185D RID: 6237 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600185D")]
	[Address(RVA = "0xCC0430", Offset = "0xCBF430", VA = "0x180CC0430")]
	public void UpdateAlpha(float alpha)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600185E RID: 6238 RVA: 0x000387F8 File Offset: 0x000369F8
	[Token(Token = "0x600185E")]
	[Address(RVA = "0xCC02F0", Offset = "0xCBF2F0", VA = "0x180CC02F0")]
	private void PreformPointerTriggerEffect(float scale)
	{
		/*
An exception occurred when decompiling this method (0600185E)

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: 0x0600185F RID: 6239 RVA: 0x00038858 File Offset: 0x00036A58
	[Token(Token = "0x600185F")]
	[Address(RVA = "0x328C40", Offset = "0x327C40", VA = "0x180328C40")]
	public UIValueBindingArrow()
	{
	}

	// Token: 0x04002357 RID: 9047
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x4002357")]
	[SerializeField]
	private RectTransform root;

	// Token: 0x04002358 RID: 9048
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x4002358")]
	[SerializeField]
	private Image image;

	// Token: 0x04002359 RID: 9049
	[FieldOffset(Offset = "0x28")]
	[Token(Token = "0x4002359")]
	private Action clickedHandler;

	// Token: 0x0400235A RID: 9050
	[FieldOffset(Offset = "0x30")]
	[Token(Token = "0x400235A")]
	private Action pointerEnterHandler;

	// Token: 0x0400235B RID: 9051
	[FieldOffset(Offset = "0x38")]
	[Token(Token = "0x400235B")]
	private Action pointerExitHandler;

	// Token: 0x0400235C RID: 9052
	[FieldOffset(Offset = "0x40")]
	[Token(Token = "0x400235C")]
	private Tween pointerEffect;

	// Token: 0x0400235D RID: 9053
	[FieldOffset(Offset = "0x48")]
	[Token(Token = "0x400235D")]
	private Tween clickEffect;

	// Token: 0x0400235E RID: 9054
	[FieldOffset(Offset = "0x50")]
	[Token(Token = "0x400235E")]
	private bool isActive;
}
