| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 | using System.Collections.Generic;using Excel2Json;using Fort23.Core;using Fort23.UTool;using GameLogic.Bag;namespace Fort23.Mono{    [UIBinding(prefab = "DaoYouGuaJiAwardPanel")]    public partial class DaoYouGuaJiAwardPanel : UIPanel    {        List<DaoYouGuaJiAwardWidget> _daoYouGuaJiAwardWidgets = new List<DaoYouGuaJiAwardWidget>();        private void Init()        {            isAddStack = true;            IsShowAppBar = false;        }        protected override void AddEvent()        {        }        protected override void DelEvent()        {        }        public override void AddButtonEvent()        {            Btn_Close.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });            Btn_Award.onClick.AddListener(async () =>            {                List<ItemInfo> items = new List<ItemInfo>();                foreach (var playerDataDaoYouGuaiJiData in AccountFileInfo.Instance.playerData.daoYouGuaiJiDatas)                {                    if (playerDataDaoYouGuaiJiData.isLeave && playerDataDaoYouGuaiJiData.items.Count > 0)                    {                        foreach (var itemData in playerDataDaoYouGuaiJiData.items)                        {                            items.Add(new ItemInfo(itemData));                        }                    }                }                if (items.Count <= 0)                {                    return;                }                AccountFileInfo.Instance.playerData.daoYouGuaiJiDatas.RemoveAll(p => p.isLeave);                AccountFileInfo.Instance.SavePlayerData();                EventManager.Instance.Dispatch(CustomEventType.DaoYouCounUpdate, null);                RewardsPanel rewardsPanel = await RewardsPanel.OpenPanel(items);                await rewardsPanel.UIClosed();                UIManager.Instance.HideUIUIPanel(this);            });        }        public async override CTask<bool> AsyncInit(object[] uiData)        {            foreach (var playerDataDaoYouGuaiJiData in AccountFileInfo.Instance.playerData.daoYouGuaiJiDatas)            {                if (playerDataDaoYouGuaiJiData.isLeave && playerDataDaoYouGuaiJiData.items.Count > 0)                {                    DaoYouGuaJiAwardWidget daoYouGuaJiAwardWidget = await UIManager.Instance.CreateGComponent<DaoYouGuaJiAwardWidget>(null, Content);                    daoYouGuaJiAwardWidget.CustomInit(playerDataDaoYouGuaiJiData);                    _daoYouGuaJiAwardWidgets.Add(daoYouGuaJiAwardWidget);                }            }            return await base.AsyncInit(uiData);        }        public static async CTask OpenPanel()        {            await UIManager.Instance.LoadAndOpenPanel<DaoYouGuaJiAwardPanel>(null);        }        public async override CTask Close()        {            foreach (var daoYouGuaJiAwardWidget in _daoYouGuaJiAwardWidgets)            {                UIManager.Instance.DormancyGComponent(daoYouGuaJiAwardWidget);            }            _daoYouGuaJiAwardWidgets.Clear();            await base.Close();        }    }}
 |