using System; using System.Collections.Generic; using Photon; using UnityEngine; using UnityEngine.Serialization; using UnityEngine.UI; namespace AGUI.StackedUI { // Token: 0x02001071 RID: 4209 public abstract class StackedUIBase : global::Photon.MonoBehaviour, MFCHPNIIFGD { // Token: 0x1700107A RID: 4218 // (get) Token: 0x06023916 RID: 145686 RVA: 0x009B260C File Offset: 0x009B080C private static Transform ECBMNPGNJLG { get { if (StackedUIBase.FKAPFAJFCBI == null) { StackedUIBase.FKAPFAJFCBI = new GameObject("Disabled UI Flows").transform; global::UnityEngine.Object.DontDestroyOnLoad(StackedUIBase.FKAPFAJFCBI.gameObject); } return StackedUIBase.FKAPFAJFCBI; } } // Token: 0x1700107B RID: 4219 // (get) Token: 0x06023917 RID: 145687 RVA: 0x009B2648 File Offset: 0x009B0848 public Canvas EFLIAMBDIHJ { get { return this.canvas; } } // Token: 0x1700107C RID: 4220 // (get) Token: 0x06023918 RID: 145688 RVA: 0x009B2650 File Offset: 0x009B0850 protected virtual IEnumerable IPAGACFOCFI { get { return this.flowPrefabs; } } // Token: 0x1700107D RID: 4221 // (get) Token: 0x06023919 RID: 145689 RVA: 0x009B2658 File Offset: 0x009B0858 public List OGHBMFPKCCN { get { return this.BOLCAHPPFAB; } } // Token: 0x1700107E RID: 4222 // (get) Token: 0x0602391A RID: 145690 RVA: 0x009B2660 File Offset: 0x009B0860 // (set) Token: 0x0602391B RID: 145691 RVA: 0x009B2668 File Offset: 0x009B0868 private protected StackedUIFlowBase BHNOHPCNFKB { protected get; private set; } // Token: 0x0602391C RID: 145692 RVA: 0x009B2674 File Offset: 0x009B0874 protected override void Awake() { base.Awake(); this.FNLKIFCJPCP = base.GetComponentsInChildren(true); this.EFFJAGDLFKP(); this.DAENFJGPPDE(); } // Token: 0x0602391D RID: 145693 RVA: 0x009B2698 File Offset: 0x009B0898 protected virtual void OnEnable() { this.Opened(); } // Token: 0x0602391E RID: 145694 RVA: 0x009B26A0 File Offset: 0x009B08A0 protected virtual void OnDisable() { this.Closed(); } // Token: 0x0602391F RID: 145695 RVA: 0x009B26A8 File Offset: 0x009B08A8 protected override void OnDestroy() { base.OnDestroy(); foreach (StackedUIFlowBase stackedUIFlowBase in this.OGHBMFPKCCN) { if (stackedUIFlowBase != null && stackedUIFlowBase.transform.parent == StackedUIBase.ECBMNPGNJLG) { global::UnityEngine.Object.Destroy(stackedUIFlowBase.gameObject); } } } // Token: 0x06023920 RID: 145696 RVA: 0x009B2734 File Offset: 0x009B0934 private void EFFJAGDLFKP() { StackedUIFlowBase[] componentsInChildren = base.GetComponentsInChildren(true); List list = new List(); foreach (StackedUIFlowBase stackedUIFlowBase in this.IPAGACFOCFI) { if (stackedUIFlowBase != null) { list.Add(global::UnityEngine.Object.Instantiate(stackedUIFlowBase)); } else { Debug.LogError("Error setting up menu. Flow was null!"); } } this.OGHBMFPKCCN.AddRange(componentsInChildren); this.OGHBMFPKCCN.AddRange(list); foreach (StackedUIFlowBase stackedUIFlowBase2 in this.OGHBMFPKCCN) { this.IPGDDEOEKEA(stackedUIFlowBase2); } foreach (StackedUIFlowBase stackedUIFlowBase3 in this.OGHBMFPKCCN) { stackedUIFlowBase3.OnAllFlowsInitialized(); } this.AMJINHCJCGP(); } // Token: 0x06023921 RID: 145697 RVA: 0x009B2874 File Offset: 0x009B0A74 protected virtual void IPGDDEOEKEA(StackedUIFlowBase EJNAKPIOKFJ) { EJNAKPIOKFJ.Initialize(this); EJNAKPIOKFJ.gameObject.SetActive(false); this.NFNOOMDBADF(EJNAKPIOKFJ); if (EJNAKPIOKFJ.FirstFlow) { this.NJMLJBGLNOK = EJNAKPIOKFJ; } } // Token: 0x06023922 RID: 145698 RVA: 0x009B28A4 File Offset: 0x009B0AA4 protected virtual void AMJINHCJCGP() { } // Token: 0x06023923 RID: 145699 RVA: 0x009B28A8 File Offset: 0x009B0AA8 protected virtual void DAENFJGPPDE() { this.PushFlow(this.NJMLJBGLNOK); } // Token: 0x06023924 RID: 145700 RVA: 0x009B28B8 File Offset: 0x009B0AB8 public void Opened() { if (this.BHNOHPCNFKB != null) { this.KJGHADBPJEM(this.BHNOHPCNFKB); this.BHNOHPCNFKB.gameObject.SetActive(true); } this.AJFCNEMEGJO(); foreach (StackedUIFlowBase stackedUIFlowBase in this.OGHBMFPKCCN) { stackedUIFlowBase.StackedUIOpened(); } } // Token: 0x06023925 RID: 145701 RVA: 0x009B2948 File Offset: 0x009B0B48 protected virtual void AJFCNEMEGJO() { } // Token: 0x06023926 RID: 145702 RVA: 0x009B294C File Offset: 0x009B0B4C public void Closed() { this.KHKCGPCEGDG(); foreach (StackedUIFlowBase stackedUIFlowBase in this.OGHBMFPKCCN) { stackedUIFlowBase.StackedUIClosed(); } if (this.BHNOHPCNFKB != null) { this.NFNOOMDBADF(this.BHNOHPCNFKB); this.BHNOHPCNFKB.gameObject.SetActive(false); } } // Token: 0x06023927 RID: 145703 RVA: 0x009B29DC File Offset: 0x009B0BDC protected virtual void KHKCGPCEGDG() { } // Token: 0x06023928 RID: 145704 RVA: 0x009B29E0 File Offset: 0x009B0BE0 public void Button_PushFlow(StackedUIFlowBase EJNAKPIOKFJ) { this.PushFlow(EJNAKPIOKFJ); } // Token: 0x06023929 RID: 145705 RVA: 0x009B29EC File Offset: 0x009B0BEC public void PushFlow(StackedUIFlowBase EJNAKPIOKFJ) { this.IAFJGFHMEIO(EJNAKPIOKFJ); } // Token: 0x0602392A RID: 145706 RVA: 0x009B29F8 File Offset: 0x009B0BF8 public void PushFlow() where T : StackedUIFlowBase { StackedUIFlowBase stackedUIFlowBase = this.GetFlowByType(); if (stackedUIFlowBase != null) { this.PushFlow(stackedUIFlowBase); } } // Token: 0x0602392B RID: 145707 RVA: 0x009B2A24 File Offset: 0x009B0C24 protected virtual void IAFJGFHMEIO(StackedUIFlowBase EJNAKPIOKFJ) { this.MBJNPAHFJON.Push(EJNAKPIOKFJ); if (this.BHNOHPCNFKB != null) { this.LGAJCPEAGMN(this.BHNOHPCNFKB); } this.BDLPCIAAOID(EJNAKPIOKFJ, this.BHNOHPCNFKB); } // Token: 0x0602392C RID: 145708 RVA: 0x009B2A5C File Offset: 0x009B0C5C public void Button_PopFlow() { this.PopFlow(); } // Token: 0x0602392D RID: 145709 RVA: 0x009B2A68 File Offset: 0x009B0C68 public bool PopFlow() { return this.OPADPCJIKIO(); } // Token: 0x0602392E RID: 145710 RVA: 0x009B2A70 File Offset: 0x009B0C70 public void PopAllFlows() { while (this.PopFlow()) { } } // Token: 0x0602392F RID: 145711 RVA: 0x009B2A84 File Offset: 0x009B0C84 public bool RefreshTopFlow() { return this.BNMFPPABONA(); } // Token: 0x06023930 RID: 145712 RVA: 0x009B2A8C File Offset: 0x009B0C8C protected virtual bool BNMFPPABONA() { return true; } // Token: 0x06023931 RID: 145713 RVA: 0x009B2A90 File Offset: 0x009B0C90 protected virtual bool OPADPCJIKIO() { if (this.MBJNPAHFJON.Count > 1) { StackedUIFlowBase stackedUIFlowBase = this.MBJNPAHFJON.Pop(); StackedUIFlowBase stackedUIFlowBase2 = this.MBJNPAHFJON.Peek(); this.LGAJCPEAGMN(stackedUIFlowBase); this.BDLPCIAAOID(stackedUIFlowBase2, stackedUIFlowBase); return true; } return false; } // Token: 0x06023932 RID: 145714 RVA: 0x009B2AD8 File Offset: 0x009B0CD8 private void BDLPCIAAOID(StackedUIFlowBase MJIGMKPCKNP, StackedUIFlowBase KJKLMLPCCAO) { this.BHNOHPCNFKB = MJIGMKPCKNP; this.BHNOHPCNFKB.gameObject.SetActive(true); this.KJGHADBPJEM(this.BHNOHPCNFKB); this.MKGONLGKJAG(MJIGMKPCKNP, KJKLMLPCCAO); this.BHNOHPCNFKB.OnFlowEntered(KJKLMLPCCAO); } // Token: 0x06023933 RID: 145715 RVA: 0x009B2B14 File Offset: 0x009B0D14 private void LGAJCPEAGMN(StackedUIFlowBase KJKLMLPCCAO) { KJKLMLPCCAO.OnFlowExited(); KJKLMLPCCAO.gameObject.SetActive(false); this.NFNOOMDBADF(KJKLMLPCCAO); } // Token: 0x06023934 RID: 145716 RVA: 0x009B2B30 File Offset: 0x009B0D30 protected virtual void MKGONLGKJAG(StackedUIFlowBase MJIGMKPCKNP, StackedUIFlowBase KJKLMLPCCAO) { } // Token: 0x06023935 RID: 145717 RVA: 0x009B2B34 File Offset: 0x009B0D34 private void KJGHADBPJEM(StackedUIFlowBase EJNAKPIOKFJ) { if (EJNAKPIOKFJ != null) { EJNAKPIOKFJ.transform.SetParent(this.screenBase, false); EJNAKPIOKFJ.transform.localPosition = Vector3.zero; EJNAKPIOKFJ.transform.localScale = Vector3.one; EJNAKPIOKFJ.transform.localRotation = Quaternion.identity; RectTransform rectTransform = EJNAKPIOKFJ.transform as RectTransform; rectTransform.anchorMin = Vector2.zero; rectTransform.anchorMax = Vector2.one; rectTransform.offsetMin = Vector2.zero; rectTransform.offsetMax = Vector2.zero; } } // Token: 0x06023936 RID: 145718 RVA: 0x009B2BC8 File Offset: 0x009B0DC8 private void NFNOOMDBADF(StackedUIFlowBase EJNAKPIOKFJ) { EJNAKPIOKFJ.transform.SetParent(StackedUIBase.ECBMNPGNJLG, false); } // Token: 0x06023937 RID: 145719 RVA: 0x009B2BDC File Offset: 0x009B0DDC public bool CanInteract(Selectable NJEBPCDODEH) { for (int i = 0; i < this.FNLKIFCJPCP.Length; i++) { if (this.FNLKIFCJPCP[i].gameObject.activeInHierarchy && !this.FNLKIFCJPCP[i].CanInteract(NJEBPCDODEH)) { return false; } } return true; } // Token: 0x06023938 RID: 145720 RVA: 0x009B2C30 File Offset: 0x009B0E30 public T GetFlowByType() where T : StackedUIFlowBase { foreach (StackedUIFlowBase stackedUIFlowBase in this.OGHBMFPKCCN) { T t = stackedUIFlowBase as T; if (t != null) { return t; } } return (T)((object)null); } // Token: 0x04005B3D RID: 23357 private static Transform FKAPFAJFCBI; // Token: 0x04005B3E RID: 23358 [SerializeField] private Canvas canvas; // Token: 0x04005B3F RID: 23359 [SerializeField] private RectTransform screenBase; // Token: 0x04005B40 RID: 23360 [SerializeField] [FormerlySerializedAs("extraFlows")] private StackedUIFlowBase[] flowPrefabs; // Token: 0x04005B41 RID: 23361 private Stack MBJNPAHFJON = new Stack(); // Token: 0x04005B42 RID: 23362 private List BOLCAHPPFAB = new List(); // Token: 0x04005B44 RID: 23364 private UIInteractionRestriction[] FNLKIFCJPCP = new UIInteractionRestriction[0]; // Token: 0x04005B45 RID: 23365 private StackedUIFlowBase NJMLJBGLNOK; } }