| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 | using System.Collections.Generic;using Excel2Json;using Fort23.Core;using Fort23.UTool;using UnityEngine;using UnityEngine.Rendering;namespace Fort23.Mono{    [UIBinding(prefab = "DivineSenceEventResultPanel")]    public partial class DivineSenceEventResultPanel : UIPanel, IScrollListContent    {        List<AccountFileInfo.EventList> eventList = new List<AccountFileInfo.EventList>();        private void Init()        {            // isAddStack = true;            // IsShowAppBar = false;        }        protected override void AddEvent()        {            EventManager.Instance.AddEventListener(CustomEventType.RemoveEvent, RemoveEvent);        }        protected override void DelEvent()        {            EventManager.Instance.RemoveEventListener(CustomEventType.RemoveEvent, RemoveEvent);        }        public override void AddButtonEvent()        {            Btn_Close.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });            Btn_Ok.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });        }        private void RemoveEvent(IEventData e)        {            UIManager.Instance.DormancyAllGComponent<ShengShiEventWidgetType2>();            Content.Init(this, eventList.Count);        }        public override CTask<bool> AsyncInit(object[] uiData)        {            eventList = uiData[0] as List<AccountFileInfo.EventList>;            if (eventList != null && eventList.Count > 0)                Content.Init(this, eventList.Count);            return base.AsyncInit(uiData);        }        public async CTask<IScorllListWidget> GetIScorllListWidget(int index, RectTransform root)        {            if (index < 0 || index >= eventList.Count)            {                return null;            }            EventConfig eventConfig = ConfigComponent.Instance.Get<EventConfig>(eventList[index].eventID);            // if (eventConfig.EventType == 2)            // {            //     ShengShiEventWidgetType3 shengShiEventWidgetType2 = await UIManager.Instance.CreateGComponent<ShengShiEventWidgetType3>(null, ContentRoot);            //     shengShiEventWidgetType2.CustomInit(eventList[index]);            //     shengShiEventWidgetType2.OnClick = ShengShiEventWidgetType3OnClick;            //     return shengShiEventWidgetType2;            // }            // else            {                ShengShiEventWidgetType2 shengShiEventWidgetType2 = await UIManager.Instance.CreateGComponent<ShengShiEventWidgetType2>(null, ContentRoot);                shengShiEventWidgetType2.CustomInit(eventList[index], GoOnClick);                shengShiEventWidgetType2.OnClick = OnClick;                return shengShiEventWidgetType2;            }        }        private void ShengShiEventWidgetType3OnClick(ItemWidgetBasic obj)        {            if (EventSystemManager.Instance.isTriggerEvent)                return;            ShengShiEventWidgetType3 shengShiEventWidgetType3 = obj as ShengShiEventWidgetType3;            //this.GObjectPoolInterface.SetActive(false);            EventSystemManager.Instance.isOpenUi = false;            EventSystemManager.Instance.TriggerEvent(shengShiEventWidgetType3.eventList, () =>            {                eventList.Remove(shengShiEventWidgetType3.eventList);                Content.Init(this, eventList.Count);                EventSystemManager.Instance.isOpenUi = true;                //this.GObjectPoolInterface.SetActive(true);            });        }        private void OnClick(ItemWidgetBasic obj)        {            ShengShiEventWidgetType2 shengShiEventWidgetType2 = obj as ShengShiEventWidgetType2;            TaskInfoPanel.OpenPanel(shengShiEventWidgetType2.eventList,1);            // if (EventSystemManager.Instance.isTriggerEvent)            //     return;            //            // this.GObjectPoolInterface.SetActive(false);            // EventSystemManager.Instance.isOpenUi = false;            // EventSystemManager.Instance.TriggerEvent(shengShiEventWidgetType2.eventList, () =>            // {            //     eventList.Remove(shengShiEventWidgetType2.eventList);            //     Content.Init(this, eventList.Count);            //     EventSystemManager.Instance.isOpenUi = true;            //     this.GObjectPoolInterface.SetActive(true);            //            // });        }        private void GoOnClick(ItemWidgetBasic obj)        {            if (EventSystemManager.Instance.isTriggerEvent)                return;            ShengShiEventWidgetType2 shengShiEventWidgetType2 = obj as ShengShiEventWidgetType2;            //this.GObjectPoolInterface.SetActive(false);            EventSystemManager.Instance.isOpenUi = false;            EventSystemManager.Instance.TriggerEvent(shengShiEventWidgetType2.eventList, () =>            {                eventList.Remove(shengShiEventWidgetType2.eventList);                Content.Init(this, eventList.Count);                EventSystemManager.Instance.isOpenUi = true;                //this.GObjectPoolInterface.SetActive(true);            });        }        public void HindIScorllListWidget(IScorllListWidget widget)        {            UIManager.Instance.DormancyGComponent(widget as UIComponent);        }        public async static CTask<DivineSenceEventResultPanel> OpenPanel(List<AccountFileInfo.EventList> eventList)        {            DivineSenceEventResultPanel divineSenceEventPreviewPanel = await UIManager.Instance.LoadAndOpenPanel<DivineSenceEventResultPanel>(null, uiData: new object[] { eventList });            return divineSenceEventPreviewPanel;        }        public override void Close()        {            UIManager.Instance.DormancyAllGComponent<ShengShiEventWidgetType3>();            eventList = null;            base.Close();        }    }}
 |