using System;
using System.Collections;
using DarkTonic.MasterAudio;
using TMPro;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.InputSystem;
using UnityEngine.UI;

// Token: 0x020000E0 RID: 224
public class UITriggerButton : MonoBehaviour
{
	// Token: 0x060014C4 RID: 5316 RVA: 0x0019162C File Offset: 0x0018F82C
	private void Awake()
	{
		if (this.isSlider)
		{
			this.slider = base.gameObject.GetComponent<Slider>();
			this.colors = this.slider.colors;
			this.selectedColor = this.colors.selectedColor;
			this.normalColor = this.colors.normalColor;
			this.go = this.slider.gameObject;
			if (!this.rt)
			{
				this.rt = base.gameObject.GetComponent<RectTransform>();
			}
		}
		else if (this.isScrollBar)
		{
			this.scrollbar = base.gameObject.GetComponent<Scrollbar>();
			this.colors = this.scrollbar.colors;
			this.selectedColor = this.colors.selectedColor;
			this.normalColor = this.colors.normalColor;
			this.go = this.scrollbar.gameObject;
			if (!this.rt)
			{
				this.rt = base.gameObject.GetComponent<RectTransform>();
			}
		}
		else if (this.isToggle)
		{
			this.toggle = base.gameObject.GetComponent<Toggle>();
			this.colors = this.toggle.colors;
			this.selectedColor = this.colors.selectedColor;
			this.normalColor = this.colors.normalColor;
			this.go = this.toggle.gameObject;
			if (!this.rt)
			{
				this.rt = base.gameObject.GetComponent<RectTransform>();
			}
		}
		else if (this.isInputField)
		{
			this.inputField = base.gameObject.GetComponent<TMP_InputField>();
			if (this.inputField)
			{
				this.go = this.inputField.gameObject;
				this.colors = this.inputField.colors;
				this.selectedColor = this.colors.selectedColor;
				this.normalColor = this.colors.normalColor;
			}
			this.inputField2 = base.gameObject.GetComponent<InputField>();
			if (this.inputField2)
			{
				this.go = this.inputField2.gameObject;
				this.colors = this.inputField2.colors;
				this.selectedColor = this.colors.selectedColor;
				this.normalColor = this.colors.normalColor;
			}
			if (!this.rt)
			{
				this.rt = base.gameObject.GetComponent<RectTransform>();
			}
		}
		else
		{
			this.btn = base.gameObject.GetComponent<Button>();
			if (!this.btn)
			{
				this.btnSmart = base.gameObject.GetComponent<ButtonSmartNavigation>();
				if (this.btnSmart)
				{
					this.go = this.btnSmart.gameObject;
					this.colors = this.btnSmart.colors;
					this.selectedColor = this.colors.selectedColor;
					this.normalColor = this.colors.normalColor;
				}
				if (!this.btnSmart)
				{
					this.btnMulti = base.gameObject.GetComponent<ButtonMultiTargets>();
					if (this.btnMulti)
					{
						this.go = this.btnMulti.gameObject;
						this.colors = this.btnMulti.colors;
						this.selectedColor = this.colors.selectedColor;
						this.normalColor = this.colors.normalColor;
					}
				}
				if (!this.btnMulti && !this.btnSmart)
				{
					this.selectable = base.gameObject.GetComponent<Selectable>();
					if (this.selectable)
					{
						this.go = this.selectable.gameObject;
						this.colors = this.selectable.colors;
						this.selectedColor = this.colors.selectedColor;
						this.normalColor = this.colors.normalColor;
					}
				}
			}
			else
			{
				this.colors = this.btn.colors;
				this.selectedColor = this.colors.selectedColor;
				this.normalColor = this.colors.normalColor;
				this.go = this.btn.gameObject;
			}
			if (!this.rt)
			{
				this.rt = base.gameObject.GetComponent<RectTransform>();
			}
		}
		if (this.interacting || this.isTactics)
		{
			this.pin = base.gameObject.GetComponent<Pin>();
			this.icon = base.gameObject.GetComponent<CompanionIcon>();
			this.scroll = base.gameObject.GetComponent<JournalScroll>();
		}
		if (this.isSkill)
		{
			this.skillButton = base.gameObject.GetComponent<SkillButton>();
		}
		if ((this.btnSmart || this.btn || this.btnMulti) && this.clicking && !this.useAnimateButtonUp)
		{
			bool flag = this.selectOnly;
		}
		if (this.usePointerHover || this.usePointerInteract)
		{
			this.pointer = base.gameObject.GetComponent<global::Pointer>();
		}
		if (this.useCompanion)
		{
			this.dockFriend = base.gameObject.GetComponent<DockFriend>();
		}
		if (this.isBag)
		{
			this.bag = base.gameObject.GetComponent<InventoryContainer>();
		}
	}

	// Token: 0x060014C5 RID: 5317 RVA: 0x00191B80 File Offset: 0x0018FD80
	private void OnEnable()
	{
		bool flag = false;
		if (this.loadWithGameStart)
		{
			flag = true;
		}
		if (!flag && Links.x && Links.x.gaia.sceneLoaded)
		{
			flag = true;
		}
		if (flag)
		{
			this.oscillating = false;
			if (!this.selectOnly)
			{
				if (this.playerControls == null)
				{
					this.playerControls = new MenuInputActions();
				}
				this.playerControls.Enable();
				if (this.canceling)
				{
					this.playerControls.UI.Cancel.started += this.Cancel;
				}
				if (this.interacting)
				{
					this.playerControls.UI.Interact.started += this.Interact;
				}
				if (this.usePointerInteract || this.useCompanion)
				{
					this.playerControls.UI.Interact.started += this.Interact;
				}
				if (this.clicking)
				{
					this.playerControls.UI.Submit.started += this.Submit;
				}
			}
			if (this.isSkill)
			{
				if (this.selectOnly)
				{
					if (this.playerControls == null)
					{
						this.playerControls = new MenuInputActions();
					}
					this.playerControls.Enable();
				}
				this.playerControls.UI.Interact.started += this.Interact;
			}
			if (this.firstSelected)
			{
				base.StartCoroutine(this.First());
			}
			if (this.useAnimateButtonUp && this.canceling)
			{
				if (!this.animateButton)
				{
					this.animateButton = base.gameObject.GetComponent<AnimateButton>();
				}
				if (Records.x)
				{
					Records.x.AddCloseButtonMenu(this);
				}
			}
			this.loaded = true;
		}
	}

	// Token: 0x060014C6 RID: 5318 RVA: 0x00191D5C File Offset: 0x0018FF5C
	public void FirstSelect()
	{
		base.StartCoroutine(this.First());
	}

	// Token: 0x060014C7 RID: 5319 RVA: 0x00191D6C File Offset: 0x0018FF6C
	public void ToggleMouseKeyboardOscillate(bool state)
	{
		if (state)
		{
			if (!this.oscillating && base.gameObject.activeSelf && base.gameObject.activeInHierarchy && !this.noAnimate)
			{
				this.corout = this.FadeCoroutine(true);
				this.startTime = Time.realtimeSinceStartup;
				base.StartCoroutine(this.corout);
				this.oscillating = true;
				return;
			}
		}
		else if (this.oscillating)
		{
			base.StopCoroutine(this.corout);
			this.corout = null;
			this.oscillating = false;
		}
	}

	// Token: 0x060014C8 RID: 5320 RVA: 0x00191DF8 File Offset: 0x0018FFF8
	public void SetSelected(bool state)
	{
		if (Links.x.joy)
		{
			if (state)
			{
				if (!this.oscillating && base.gameObject.activeSelf && base.gameObject.activeInHierarchy)
				{
					if (!this.noAnimate)
					{
						this.corout = this.FadeCoroutine(true);
						this.startTime = Time.realtimeSinceStartup;
						base.StartCoroutine(this.corout);
						this.oscillating = true;
					}
					Links.x.hudControl.SetJoyBox(this);
				}
				if (this.useAnimateButtonUp)
				{
					if (!this.animateButton)
					{
						this.animateButton = base.gameObject.GetComponent<AnimateButton>();
					}
					if (this.animateButton)
					{
						this.animateButton.canInteract = true;
						this.animateButton.OnPointerEnter(null);
					}
				}
				if (this.usePointerHover)
				{
					this.pointer.OnPointerEnter(null);
				}
				if (this.isSkill)
				{
					this.skillButton.OnPointerEnter(null);
				}
				if (this.isBag)
				{
					this.bag.OnPointerEnter(null);
				}
				if (this.useCompanion)
				{
					this.dockFriend.OnPointerEnter(null);
				}
				if (this.isItem)
				{
					this.ItemHover(true);
					return;
				}
			}
			else
			{
				if (this.oscillating)
				{
					base.StopCoroutine(this.corout);
					this.corout = null;
					this.oscillating = false;
				}
				if (this.useAnimateButtonUp)
				{
					if (!this.animateButton)
					{
						this.animateButton = base.gameObject.GetComponent<AnimateButton>();
					}
					if (this.animateButton)
					{
						this.animateButton.canInteract = true;
						this.animateButton.OnPointerExit(null);
					}
				}
				if (this.usePointerHover)
				{
					this.pointer.OnPointerExit(null);
				}
				if (this.isSkill)
				{
					this.skillButton.OnPointerExit(null);
				}
				if (this.isBag)
				{
					this.bag.OnPointerExit(null);
				}
				if (this.isItem)
				{
					this.ItemHover(false);
				}
				if (this.useCompanion)
				{
					this.dockFriend.OnPointerExit(null);
				}
			}
		}
	}

	// Token: 0x060014C9 RID: 5321 RVA: 0x00191FFA File Offset: 0x001901FA
	private void RenewFade(bool state)
	{
		if (this.noAnimate)
		{
			return;
		}
		this.corout = null;
		this.corout = this.FadeCoroutine(state);
		this.startTime = Time.realtimeSinceStartup;
		base.StartCoroutine(this.corout);
	}

	// Token: 0x060014CA RID: 5322 RVA: 0x00192031 File Offset: 0x00190231
	private IEnumerator FadeCoroutine(bool first)
	{
		Color color = new Color(this.selectedColor.r * 1f, this.selectedColor.g * 1f, this.selectedColor.b * 1f, this.selectedColor.a);
		Color color2 = new Color(this.selectedColor.r * 0.8f, this.selectedColor.g * 0.8f, this.selectedColor.b * 0.8f, this.selectedColor.a);
		Color endColor = color2;
		Color startColor = color;
		if (Links.x.mk)
		{
			startColor = this.normalColor;
			endColor = color2;
		}
		if (!first && Links.x.joy)
		{
			startColor = endColor;
			endColor = color;
		}
		if (Links.x.mk && !first)
		{
			startColor = endColor;
			endColor = this.normalColor * 1f;
		}
		float TimeToLerp = 0.7f;
		if (Links.x.mk)
		{
			TimeToLerp = 0.8f;
		}
		float percentage = 0f;
		while (percentage < 1f)
		{
			percentage = (Time.realtimeSinceStartup - this.startTime) / TimeToLerp;
			Color color3 = Color.Lerp(startColor, endColor, percentage);
			if (this.isInputField)
			{
				if (this.inputField)
				{
					this.colors = this.inputField.colors;
				}
				else
				{
					this.colors = this.inputField2.colors;
				}
			}
			else if (this.isToggle)
			{
				this.colors = this.toggle.colors;
			}
			else if (this.isSlider)
			{
				this.colors = this.slider.colors;
			}
			else if (this.isScrollBar)
			{
				this.colors = this.scrollbar.colors;
			}
			else if (this.selectable)
			{
				this.selectable.colors = this.colors;
			}
			else if (this.btn)
			{
				this.colors = this.btn.colors;
			}
			else if (this.btnSmart)
			{
				this.colors = this.btnSmart.colors;
			}
			else if (this.btnMulti)
			{
				this.btnMulti.colors = this.colors;
			}
			if (Links.x.mk)
			{
				this.colors.normalColor = color3;
			}
			else
			{
				this.colors.selectedColor = color3;
			}
			if (this.isInputField)
			{
				if (this.inputField)
				{
					this.inputField.colors = this.colors;
				}
				else
				{
					this.inputField2.colors = this.colors;
				}
			}
			else if (this.isToggle)
			{
				this.toggle.colors = this.colors;
			}
			else if (this.isSlider)
			{
				this.slider.colors = this.colors;
			}
			else if (this.isScrollBar)
			{
				this.scrollbar.colors = this.colors;
			}
			else if (this.selectable)
			{
				this.selectable.colors = this.colors;
			}
			else if (this.btn)
			{
				this.btn.colors = this.colors;
			}
			else if (this.btnSmart)
			{
				this.btnSmart.colors = this.colors;
			}
			else if (this.btnMulti)
			{
				this.btnMulti.colors = this.colors;
			}
			yield return null;
		}
		if (first)
		{
			this.RenewFade(false);
		}
		else
		{
			this.RenewFade(true);
		}
		yield break;
	}

	// Token: 0x060014CB RID: 5323 RVA: 0x00192047 File Offset: 0x00190247
	private IEnumerator First()
	{
		if (Links.x.joy)
		{
			yield return new WaitForSecondsRealtime(0.01f);
			while (!base.enabled || !base.gameObject.activeSelf || !base.gameObject.activeInHierarchy)
			{
				yield return null;
			}
			EventSystem.current.SetSelectedGameObject(this.go);
			if (this.saveFirstSelected)
			{
				Links.x.gameplay.firstEventObject = this.go;
			}
		}
		yield break;
	}

	// Token: 0x060014CC RID: 5324 RVA: 0x00192056 File Offset: 0x00190256
	private IEnumerator Next(GameObject next)
	{
		if (Links.x.joy)
		{
			yield return new WaitForSecondsRealtime(0.1f);
			while (!base.enabled || !base.gameObject.activeSelf || !base.gameObject.activeInHierarchy)
			{
				yield return null;
			}
			EventSystem.current.SetSelectedGameObject(this.go);
			if (this.saveFirstSelected)
			{
				Links.x.gameplay.firstEventObject = next;
			}
		}
		yield break;
	}

	// Token: 0x060014CD RID: 5325 RVA: 0x0019206C File Offset: 0x0019026C
	public void Cancel(InputAction.CallbackContext ctx)
	{
		if (this.canceling && !this.selectOnly && !Links.x.inventory.dragging && !Links.x.inventory.pickingEquipItem && (!Links.x.mk || (Links.x.mk && !Records.x.typing)) && Records.x.FirstCloseButton() == this)
		{
			if (!this.clicking)
			{
				this.Click();
				return;
			}
			this.Click();
		}
	}

	// Token: 0x060014CE RID: 5326 RVA: 0x001920F6 File Offset: 0x001902F6
	public void Submit(InputAction.CallbackContext ctx)
	{
		if (EventSystem.current.currentSelectedGameObject == this.go && !this.selectOnly)
		{
			this.Click();
		}
	}

	// Token: 0x060014CF RID: 5327 RVA: 0x00192120 File Offset: 0x00190320
	public void Interact(InputAction.CallbackContext ctx)
	{
		if (EventSystem.current.currentSelectedGameObject == this.go && (this.isSkill || (!this.isSkill && !this.selectOnly) || (this.isSkill && this.customIcon)))
		{
			if (this.pin)
			{
				this.pin.DragFromTrigger();
			}
			if (this.icon)
			{
				this.icon.PointerUpFromTrigger();
			}
			if (this.usePointerInteract)
			{
				this.pointer.PointerDownInteract();
			}
			if (this.isSkill)
			{
				this.skillButton.OnPointerDown(null);
			}
		}
	}

	// Token: 0x060014D0 RID: 5328 RVA: 0x001921C4 File Offset: 0x001903C4
	private void OnDisable()
	{
		if (!this.loaded)
		{
			return;
		}
		if (this.oscillating)
		{
			base.StopCoroutine(this.corout);
		}
		if (!this.selectOnly)
		{
			if (this.canceling)
			{
				this.playerControls.UI.Cancel.started -= this.Cancel;
			}
			if (this.interacting)
			{
				this.playerControls.UI.Interact.started -= this.Interact;
			}
			if (this.clicking)
			{
				this.playerControls.UI.Submit.started -= this.Submit;
			}
			this.playerControls.Disable();
		}
		if (this.useAnimateButtonUp && this.canceling && Records.x)
		{
			if (!this.animateButton)
			{
				this.animateButton = base.gameObject.GetComponent<AnimateButton>();
			}
			Records.x.RemoveCloseButtonMenu(this);
		}
	}

	// Token: 0x060014D1 RID: 5329 RVA: 0x001922D0 File Offset: 0x001904D0
	private void Click()
	{
		string text = "Clicks Stone A";
		int num = Random.Range(0, 5);
		if (num == 1)
		{
			text = "Clicks Stone B";
		}
		else if (num == 2)
		{
			text = "Clicks Stone C";
		}
		else if (num == 3)
		{
			text = "Clicks Stone D";
		}
		else if (num == 4)
		{
			text = "Clicks Stone E";
		}
		if (this.usePointerInteract)
		{
			Debug.Log(this);
			this.pointer.PointerDownAction();
		}
		if (this.icon)
		{
			this.icon.PointerUpFromTrigger();
			return;
		}
		if (this.isInputField && !this.useAnimateButtonUp)
		{
			MasterAudio.PlaySoundAndForget(text, Random.Range(0.75f, 1f), new float?(1f), 0f, "", null);
			ExecuteEvents.Execute<ISubmitHandler>(this.go, null, ExecuteEvents.submitHandler);
			return;
		}
		if (this.isToggle)
		{
			MasterAudio.PlaySoundAndForget(text, Random.Range(0.75f, 1f), new float?(1f), 0f, "", null);
			ExecuteEvents.Execute<ISubmitHandler>(this.go, null, ExecuteEvents.submitHandler);
			return;
		}
		if (this.isSlider || this.isScrollBar)
		{
			if (this.selectNext)
			{
				MasterAudio.PlaySoundAndForget(text, Random.Range(0.75f, 1f), new float?(1f), 0f, "", null);
				base.StartCoroutine(this.Next(this.selectNext));
				return;
			}
		}
		else
		{
			if (this.doSelectNext && this.selectNext)
			{
				MasterAudio.PlaySoundAndForget(text, Random.Range(0.75f, 1f), new float?(1f), 0f, "", null);
				base.StartCoroutine(this.Next(this.selectNext));
			}
			if (this.useAnimateButtonUp)
			{
				MasterAudio.PlaySoundAndForget(text, Random.Range(0.75f, 1f), new float?(1f), 0f, "", null);
				if (!this.animateButton)
				{
					this.animateButton = base.gameObject.GetComponent<AnimateButton>();
				}
				if (!this.animateButton)
				{
					Debug.Log("animate button not found " + ((this != null) ? this.ToString() : null));
				}
				if (this.animateButton)
				{
					this.animateButton.canInteract = true;
					this.animateButton.OnPointerUp(null);
					return;
				}
			}
			else if (!this.simulateClick || !this.btn)
			{
				if (!this.interacting)
				{
					MasterAudio.PlaySoundAndForget(text, Random.Range(0.75f, 1f), new float?(1f), 0f, "", null);
					ExecuteEvents.Execute<ISubmitHandler>(this.go, new PointerEventData(EventSystem.current), ExecuteEvents.submitHandler);
					return;
				}
				if (this.pin)
				{
					MasterAudio.PlaySoundAndForget(text, Random.Range(0.75f, 1f), new float?(1f), 0f, "", null);
					this.pin.PointerUpFromTrigger();
				}
				if (this.icon)
				{
					MasterAudio.PlaySoundAndForget(text, Random.Range(0.75f, 1f), new float?(1f), 0f, "", null);
					this.icon.PointerUpFromTrigger();
				}
				if (this.isItem)
				{
					this.bag.PickUpItemFromInventory(this, this.item);
					return;
				}
			}
			else
			{
				base.StartCoroutine(this.SimulateButtonClick());
			}
		}
	}

	// Token: 0x060014D2 RID: 5330 RVA: 0x0019268F File Offset: 0x0019088F
	private IEnumerator SimulateButtonClick()
	{
		this.btn.OnPointerDown(new PointerEventData(EventSystem.current));
		for (float timeLeft = 0.2f; timeLeft > 0f; timeLeft -= Time.unscaledDeltaTime)
		{
			yield return null;
		}
		this.btn.OnPointerUp(new PointerEventData(EventSystem.current));
		this.btn.OnDeselect(null);
		ExecuteEvents.Execute<ISubmitHandler>(this.go, new PointerEventData(EventSystem.current), ExecuteEvents.submitHandler);
		yield break;
	}

	// Token: 0x060014D3 RID: 5331 RVA: 0x0019269E File Offset: 0x0019089E
	public void GetBag()
	{
		if (this.isItem)
		{
			this.bag = base.gameObject.transform.parent.gameObject.GetComponent<InventoryContainer>();
		}
	}

	// Token: 0x060014D4 RID: 5332 RVA: 0x001926C8 File Offset: 0x001908C8
	public Item GetItem()
	{
		return this.item;
	}

	// Token: 0x060014D5 RID: 5333 RVA: 0x001926D0 File Offset: 0x001908D0
	public void SetItem(Item i)
	{
		this.item = i;
	}

	// Token: 0x060014D6 RID: 5334 RVA: 0x001926D9 File Offset: 0x001908D9
	public void SetBag(InventoryContainer b)
	{
		this.bag = b;
	}

	// Token: 0x060014D7 RID: 5335 RVA: 0x001926E2 File Offset: 0x001908E2
	public Button GetButton()
	{
		return this.btn;
	}

	// Token: 0x060014D8 RID: 5336 RVA: 0x001926EC File Offset: 0x001908EC
	public void ItemHover(bool state)
	{
		if (state)
		{
			if (!this.item)
			{
				this.item = this.bag.GetItem(this.btn);
			}
			this.item;
			if (this.item)
			{
				Links.x.inventory.SetDragMessageText("Hover", this.item);
				this.item.InventoryHoverIn(this.item.forSale);
				Links.x.inventory.OpenTooltip(this.item);
				return;
			}
		}
		else
		{
			if (Links.x.inventory.dragging)
			{
				Links.x.inventory.SetDragMessageText("Dragging", this.item);
			}
			else
			{
				Links.x.inventory.SetDragMessageText("", this.item);
			}
			if (!this.item)
			{
				this.item = this.bag.GetItem(this.btn);
			}
			this.item.InventoryHoverOut(this.item.forSale);
			if (Links.x.gameplay.currentEventObject)
			{
				UITriggerButton component = Links.x.gameplay.currentEventObject.GetComponent<UITriggerButton>();
				if (!component)
				{
					Links.x.inventory.CloseTooltip();
					return;
				}
				if (!component.isItem)
				{
					Links.x.inventory.CloseTooltip();
					return;
				}
			}
			else
			{
				Links.x.inventory.CloseTooltip();
			}
		}
	}

	// Token: 0x04002400 RID: 9216
	private MenuInputActions playerControls;

	// Token: 0x04002401 RID: 9217
	private Button btn;

	// Token: 0x04002402 RID: 9218
	private Selectable selectable;

	// Token: 0x04002403 RID: 9219
	private ButtonSmartNavigation btnSmart;

	// Token: 0x04002404 RID: 9220
	private ButtonMultiTargets btnMulti;

	// Token: 0x04002405 RID: 9221
	private TMP_InputField inputField;

	// Token: 0x04002406 RID: 9222
	private InputField inputField2;

	// Token: 0x04002407 RID: 9223
	private Toggle toggle;

	// Token: 0x04002408 RID: 9224
	private Slider slider;

	// Token: 0x04002409 RID: 9225
	private Item item;

	// Token: 0x0400240A RID: 9226
	private Scrollbar scrollbar;

	// Token: 0x0400240B RID: 9227
	public GameObject selectNext;

	// Token: 0x0400240C RID: 9228
	public bool loadWithGameStart;

	// Token: 0x0400240D RID: 9229
	public bool doSelectNext;

	// Token: 0x0400240E RID: 9230
	public RectTransform rt;

	// Token: 0x0400240F RID: 9231
	public Vector4 boxOffset;

	// Token: 0x04002410 RID: 9232
	[Header("Info")]
	public bool firstSelected;

	// Token: 0x04002411 RID: 9233
	public bool saveFirstSelected;

	// Token: 0x04002412 RID: 9234
	public bool isInputField;

	// Token: 0x04002413 RID: 9235
	public bool isSlider;

	// Token: 0x04002414 RID: 9236
	public bool isToggle;

	// Token: 0x04002415 RID: 9237
	public bool isScrollBar;

	// Token: 0x04002416 RID: 9238
	public bool isBag;

	// Token: 0x04002417 RID: 9239
	public bool isItem;

	// Token: 0x04002418 RID: 9240
	public bool isSkill;

	// Token: 0x04002419 RID: 9241
	public bool noAnimate;

	// Token: 0x0400241A RID: 9242
	public bool isTactics;

	// Token: 0x0400241B RID: 9243
	public bool simulateClick;

	// Token: 0x0400241C RID: 9244
	public bool noIcon;

	// Token: 0x0400241D RID: 9245
	public bool customIcon;

	// Token: 0x0400241E RID: 9246
	private GameObject go;

	// Token: 0x0400241F RID: 9247
	private InventoryContainer bag;

	// Token: 0x04002420 RID: 9248
	[Header("Functionality")]
	public bool canceling;

	// Token: 0x04002421 RID: 9249
	public bool interacting;

	// Token: 0x04002422 RID: 9250
	public bool clicking = true;

	// Token: 0x04002423 RID: 9251
	public bool selectOnly;

	// Token: 0x04002424 RID: 9252
	[Header("Animate Button")]
	public bool useAnimateButtonUp;

	// Token: 0x04002425 RID: 9253
	public bool usePointerHover;

	// Token: 0x04002426 RID: 9254
	public bool usePointerInteract;

	// Token: 0x04002427 RID: 9255
	public bool useCompanion;

	// Token: 0x04002428 RID: 9256
	private AnimateButton animateButton;

	// Token: 0x04002429 RID: 9257
	private global::Pointer pointer;

	// Token: 0x0400242A RID: 9258
	private DockFriend dockFriend;

	// Token: 0x0400242B RID: 9259
	private float colorLerp;

	// Token: 0x0400242C RID: 9260
	private float startTime;

	// Token: 0x0400242D RID: 9261
	private ColorBlock colors;

	// Token: 0x0400242E RID: 9262
	private Color selectedColor;

	// Token: 0x0400242F RID: 9263
	private Color normalColor;

	// Token: 0x04002430 RID: 9264
	private bool oscillating;

	// Token: 0x04002431 RID: 9265
	private IEnumerator corout;

	// Token: 0x04002432 RID: 9266
	private Pin pin;

	// Token: 0x04002433 RID: 9267
	private JournalScroll scroll;

	// Token: 0x04002434 RID: 9268
	private CompanionIcon icon;

	// Token: 0x04002435 RID: 9269
	private SkillButton skillButton;

	// Token: 0x04002436 RID: 9270
	private bool loaded;
}
