| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 | using System.Collections.Generic;using Core.Language;using Excel2Json;using Fort23.Core;using Fort23.UTool;using Mono.Utility;namespace Fort23.Mono{    [UIBinding(prefab = "EventTipsPanel")]    public partial class EventTipsPanel : UIPanel    {        List<SkipToWidget> skipToWidgets = new List<SkipToWidget>();        private CTask<bool> callBack;        private bool isSkipto = false;        private void Init()        {            isPopUi = true;            isAddStack = false;        }        protected override void AddEvent()        {        }        protected override void DelEvent()        {        }        public override void AddButtonEvent()        {            Btn_Close.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });        }        public async override CTask<bool> AsyncInit(object[] uiData)        {            AccountFileInfo.EventLinkData eventLinkData = uiData[0] as AccountFileInfo.EventLinkData;            callBack = uiData[1] as CTask<bool>;            EventConfig eventConfig = ConfigComponent.Instance.Get<EventConfig>(eventLinkData.eventId);            EventLinkConfig eventLinkConfig = ConfigComponent.Instance.Get<EventLinkConfig>(eventLinkData.eventLinkId);            Text_EventName.text = LanguageManager.Instance.Text(eventConfig.EventName);            string desc = "";            foreach (var eventConditionData in eventLinkData.eventConditions)            {                desc += EventHelper.GetTaskMessage(eventConditionData) + "\n";            }            Text_TiaoJian.text = desc;            foreach (var eventConditionData in eventLinkData.eventConditions)            {                EventConditionConfig eventConditionConfig = ConfigComponent.Instance.Get<EventConditionConfig>(eventConditionData.eventCondition);                foreach (var skiptoId in eventConditionConfig.SkiptoIds)                {                    SkipToWidget skipToWidget = await UIManager.Instance.CreateGComponent<SkipToWidget>(null, Content);                    skipToWidget.CustonInit(skiptoId);                    skipToWidgets.Add(skipToWidget);                    skipToWidget.OnClick = OnClick;                }            }            return await base.AsyncInit(uiData);        }        private void OnClick(ItemWidgetBasic obj)        {            SkipToWidget skipToWidget = obj as SkipToWidget;            isSkipto = true;            UIManager.Instance.HideUIUIPanel(this);            SkiptoHelper.Skipto(skipToWidget.SkiptoConfig.ID);        }        public static async CTask<bool> OpenPanel(AccountFileInfo.EventLinkData eventLinkData)        {            CTask<bool> callBack = CTask<bool>.Create();            await UIManager.Instance.LoadAndOpenPanel<EventTipsPanel>(null, UILayer.Top, uiData: new object[] { eventLinkData, callBack },isShowBG:true);            return await callBack;        }        public async override CTask Close()        {            foreach (var skipToWidget in skipToWidgets)            {                UIManager.Instance.DormancyGComponent(skipToWidget);            }            skipToWidgets.Clear();            callBack?.SetResult(isSkipto);            isSkipto = false;            await base.Close();        }    }}
 |