using System;
using System.Collections.Generic;
using System.Linq;
using System.Xml;
using Cpp2IlInjected;
using DG.Tweening;
using DG.Tweening.Core;
using DG.Tweening.Plugins.Options;
using MarsSDK;
using MEC;
using UnityEngine;
using UnityEngine.UI;

// Token: 0x02000242 RID: 578
[Token(Token = "0x2000242")]
public class UIValueBindingHandler : UIHandlerBase
{
	// Token: 0x170000E0 RID: 224
	// (get) Token: 0x06001643 RID: 5699 RVA: 0x00033780 File Offset: 0x00031980
	[Token(Token = "0x170000E0")]
	public RectTransform Root
	{
		[Token(Token = "0x6001643")]
		[Address(RVA = "0x31E4E0", Offset = "0x31D2E0", VA = "0x18031E4E0")]
		get
		{
			return this.root;
		}
	}

	// Token: 0x170000E1 RID: 225
	// (get) Token: 0x06001644 RID: 5700 RVA: 0x00033794 File Offset: 0x00031994
	[Token(Token = "0x170000E1")]
	public bool Locked
	{
		[Token(Token = "0x6001644")]
		[Address(RVA = "0x7A2DE0", Offset = "0x7A1BE0", VA = "0x1807A2DE0")]
		get
		{
			return this.isLocked;
		}
	}

	// Token: 0x06001645 RID: 5701 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001645")]
	[Address(RVA = "0x8B7720", Offset = "0x8B6520", VA = "0x1808B7720")]
	public void Init(Action<int> valueChangedHandler, string[] contents)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001646 RID: 5702 RVA: 0x000337A8 File Offset: 0x000319A8
	[Token(Token = "0x6001646")]
	[Address(RVA = "0x8B8330", Offset = "0x8B7130", VA = "0x1808B8330")]
	public void UpdatePointer(int pointer)
	{
		string[] array = this.contents;
		Text text = this.value;
		this.pointer = pointer;
		bool dtdValidation = ((IDtdParserAdapterWithValidation)text).DtdValidation;
	}

	// Token: 0x06001647 RID: 5703 RVA: 0x000337D8 File Offset: 0x000319D8
	[Token(Token = "0x6001647")]
	[Address(RVA = "0x8B7C60", Offset = "0x8B6A60", VA = "0x1808B7C60", Slot = "8")]
	public override void OnSelect()
	{
		TweenerCore<Vector3, Vector3, VectorOptions> tweenerCore = ShortcutExtensions.DOScale(this.valueRoot, 1.3f, 0.2f).SetEase((Ease)((uint)15)).Play<TweenerCore<Vector3, Vector3, VectorOptions>>();
		this.AppearArrows();
		Action<UIHandlerBase> onSelectedHandler = this.onSelectedHandler;
		if (onSelectedHandler != 0)
		{
			onSelectedHandler(this);
			return;
		}
	}

	// Token: 0x06001648 RID: 5704 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001648")]
	[Address(RVA = "0x8B7B10", Offset = "0x8B6910", VA = "0x1808B7B10", Slot = "9")]
	public override void OnDeselect()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001649 RID: 5705 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001649")]
	[Address(RVA = "0x8B7580", Offset = "0x8B6380", VA = "0x1808B7580")]
	private void AppearArrows()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600164A RID: 5706 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600164A")]
	[Address(RVA = "0x8B7650", Offset = "0x8B6450", VA = "0x1808B7650")]
	private void HideArrows()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600164B RID: 5707 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600164B")]
	[Address(RVA = "0x8B7D10", Offset = "0x8B6B10", VA = "0x1808B7D10")]
	private IEnumerator<float> PerformArrowFading(float alpha)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600164C RID: 5708 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600164C")]
	[Address(RVA = "0x8B8140", Offset = "0x8B6F40", VA = "0x1808B8140")]
	private void UpdateArrowAlpha(float alpha)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600164D RID: 5709 RVA: 0x00033824 File Offset: 0x00031A24
	[Token(Token = "0x600164D")]
	[Address(RVA = "0x8B7E90", Offset = "0x8B6C90", VA = "0x1808B7E90")]
	public void TryMove(Direction2D direction)
	{
		if (!this.isLocked)
		{
			int num = this.pointer;
			if (direction != Direction2D.Left && direction == Direction2D.Right)
			{
				num++;
			}
			int length = this.contents.Length;
			string[] array = this.contents;
			if (length != num)
			{
				Text text = this.value;
				this.pointer = length;
				string text2 = array[length];
				text.text = text2;
				Action<int> action = this.valueChangedHandler;
				if (action != 0)
				{
					int num2 = this.pointer;
					action(num2);
				}
			}
		}
	}

	// Token: 0x0600164E RID: 5710 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600164E")]
	[Address(RVA = "0x8B7A90", Offset = "0x8B6890", VA = "0x1808B7A90")]
	public void Lock(string lockedContent)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600164F RID: 5711 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600164F")]
	[Address(RVA = "0x8B7A30", Offset = "0x8B6830", VA = "0x1808B7A30")]
	public void Lock()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001650 RID: 5712 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001650")]
	[Address(RVA = "0x8B8080", Offset = "0x8B6E80", VA = "0x1808B8080")]
	public void UnLock()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001651 RID: 5713 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001651")]
	[Address(RVA = "0x8B8390", Offset = "0x8B7190", VA = "0x1808B8390")]
	private void UpdateValueColor()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001652 RID: 5714 RVA: 0x000338AC File Offset: 0x00031AAC
	[Token(Token = "0x6001652")]
	[Address(RVA = "0x8B82C0", Offset = "0x8B70C0", VA = "0x1808B82C0")]
	public void UpdateLabelText(string value)
	{
		bool dtdValidation = ((IDtdParserAdapterWithValidation)this.label).DtdValidation;
	}

	// Token: 0x06001653 RID: 5715 RVA: 0x000338CC File Offset: 0x00031ACC
	[Token(Token = "0x6001653")]
	[Address(RVA = "0x8B83F0", Offset = "0x8B71F0", VA = "0x1808B83F0")]
	public void UpdateValueText(string[] contents)
	{
		string[] array = Enumerable.ToArray<string>(contents);
		this.contents = array;
		if (!this.isLocked)
		{
			Text text = this.value;
			int num = this.pointer;
			string text2 = contents[num];
			text.text = text2;
		}
	}

	// Token: 0x06001654 RID: 5716 RVA: 0x00033914 File Offset: 0x00031B14
	[Token(Token = "0x6001654")]
	[Address(RVA = "0x8B82F0", Offset = "0x8B70F0", VA = "0x1808B82F0")]
	public void UpdateLockText(string content)
	{
		if (this.isLocked)
		{
			bool dtdValidation = ((IDtdParserAdapterWithValidation)this.value).DtdValidation;
			return;
		}
	}

	// Token: 0x06001655 RID: 5717 RVA: 0x00033940 File Offset: 0x00031B40
	[Token(Token = "0x6001655")]
	[Address(RVA = "0x8B8260", Offset = "0x8B7060", VA = "0x1808B8260")]
	public void UpdateFont(GameFontPack fontPack)
	{
		Text text = this.label;
		Font regular = fontPack.regular;
		text.font = regular;
		Text text2 = this.value;
		Font light = fontPack.light;
		text2.font = light;
	}

	// Token: 0x06001656 RID: 5718 RVA: 0x00033980 File Offset: 0x00031B80
	[Token(Token = "0x6001656")]
	[Address(RVA = "0x8B7D90", Offset = "0x8B6B90", VA = "0x1808B7D90")]
	public void PlayScaleEffect()
	{
		RectTransform rectTransform = this.value.rectTransform;
		int num = 0;
		int num2 = rectTransform.DOKill(num != 0);
		TweenerCore<Vector3, Vector3, VectorOptions> tweenerCore = ShortcutExtensions.DOScale(this.value.rectTransform, 0.7f, 0.075f);
		int num3 = 0;
		TweenerCore<Vector3, Vector3, VectorOptions> tweenerCore2 = TweenSettingsExtensions.From(tweenerCore, 1f, true, num3 != 0).SetLoops(2, LoopType.Yoyo).SetEase((Ease)((uint)3))
			.Play<TweenerCore<Vector3, Vector3, VectorOptions>>();
	}

	// Token: 0x06001657 RID: 5719 RVA: 0x000339EC File Offset: 0x00031BEC
	[Token(Token = "0x6001657")]
	[Address(RVA = "0x3FBF80", Offset = "0x3FAD80", VA = "0x1803FBF80")]
	public UIValueBindingHandler()
	{
	}

	// Token: 0x04002112 RID: 8466
	[FieldOffset(Offset = "0x68")]
	[Token(Token = "0x4002112")]
	[SerializeField]
	private RectTransform root;

	// Token: 0x04002113 RID: 8467
	[FieldOffset(Offset = "0x70")]
	[Token(Token = "0x4002113")]
	[SerializeField]
	private RectTransform valueRoot;

	// Token: 0x04002114 RID: 8468
	[FieldOffset(Offset = "0x78")]
	[Token(Token = "0x4002114")]
	[SerializeField]
	private Text label;

	// Token: 0x04002115 RID: 8469
	[FieldOffset(Offset = "0x80")]
	[Token(Token = "0x4002115")]
	[SerializeField]
	private Text value;

	// Token: 0x04002116 RID: 8470
	[FieldOffset(Offset = "0x88")]
	[Token(Token = "0x4002116")]
	[SerializeField]
	private int pointer;

	// Token: 0x04002117 RID: 8471
	[FieldOffset(Offset = "0x90")]
	[Token(Token = "0x4002117")]
	[SerializeField]
	private string[] contents;

	// Token: 0x04002118 RID: 8472
	[FieldOffset(Offset = "0x98")]
	[Token(Token = "0x4002118")]
	[SerializeField]
	private bool isLocked;

	// Token: 0x04002119 RID: 8473
	[FieldOffset(Offset = "0xA0")]
	[Token(Token = "0x4002119")]
	[SerializeField]
	private UIValueBindingArrow leftArrow;

	// Token: 0x0400211A RID: 8474
	[FieldOffset(Offset = "0xA8")]
	[Token(Token = "0x400211A")]
	[SerializeField]
	private UIValueBindingArrow rightArrow;

	// Token: 0x0400211B RID: 8475
	[FieldOffset(Offset = "0xB0")]
	[Token(Token = "0x400211B")]
	private Action<int> valueChangedHandler;

	// Token: 0x0400211C RID: 8476
	[FieldOffset(Offset = "0xB8")]
	[Token(Token = "0x400211C")]
	private CoroutineHandle arrowProcessor;

	// Token: 0x0400211D RID: 8477
	[FieldOffset(Offset = "0xBC")]
	[Token(Token = "0x400211D")]
	private float arrowAlpha;
}
