988 lines
23 KiB
C#
988 lines
23 KiB
C#
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;
|
|
}
|