| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 | using System.Collections.Generic;using Core.Language;using Excel2Json;using Fort23.Core;using GameLogic.Bag;using GameLogic.Player;using Utility;namespace Fort23.Mono{    [UIBinding(prefab = "QiankundaiPanel")]    public partial class QiankundaiPanel : UIPanel    {        List<WidgetItem> items = new List<WidgetItem>();        private void Init()        {            isPopUi = true;        }        protected override void AddEvent()        {        }        protected override void DelEvent()        {        }        public override void AddButtonEvent()        {            Btn_Close.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });            Btn_LingQu.onClick.AddListener(() =>            {                List<ItemInfo> itemInfos = new List<ItemInfo>();                //固定时间掉落奖励                foreach (var playerDataQiankundaiItemData in AccountFileInfo.Instance.playerData.QiankundaiItemDatas)                {                    ItemInfo itemInfo = new ItemInfo(playerDataQiankundaiItemData);                    PlayerManager.Instance.BagController.AddItem(itemInfo);                    itemInfos.Add(itemInfo);                }                //可以掉落每日刷新奖励                if (TimeHelper.ClientNow() >= AccountFileInfo.Instance.playerData.QiankundaiLingQuDailyDropTime)                {                    List<QiankundaiConfig> qiankundaiConfigs = PlayerManager.Instance.GetFixedTimeQiankundaiConfigs();                    foreach (var qiankundaiConfig in qiankundaiConfigs)                    {                        for (var i = 0; i < qiankundaiConfig.ChoukaID.Length; i++)                        {                            List<ItemInfo> itemInfo = DropManager.Instance.Drop(qiankundaiConfig.ChoukaID[i],                                qiankundaiConfig.DropCount[i]);                            foreach (var info in itemInfo)                            {                                PlayerManager.Instance.BagController.AddItem(info);                                itemInfos.Add(info);                            }                        }                    }                }                if (itemInfos.Count <= 0)                {                    return;                }                AccountFileInfo.Instance.playerData.QiankundaiDropTimer = 0;                AccountFileInfo.Instance.playerData.QiankundaiLingQuAwardTime = TimeHelper.ClientNow();                AccountFileInfo.Instance.playerData.QiankundaiItemDatas.Clear();                AccountFileInfo.Instance.playerData.QiankundaiLingQuDailyDropTime =                    TimeHelper.GetBaseRefreshTime(TimeHelper.ClientNow());                AccountFileInfo.Instance.SavePlayerData();                RewardsPanel.OpenPanel(itemInfos);                CustomInit();            });            Btn_XiangQing.onClick.AddListener(() => { QiankundaiInfoPanel.OpenPanel(); });        }        public async override CTask<bool> AsyncInit(object[] uiData)        {            await CustomInit();            return await base.AsyncInit(uiData);        }        public async CTask CustomInit()        {            foreach (var widgetItem in items)            {                UIManager.Instance.DormancyGComponent(widgetItem);            }            items.Clear();               Text_Desc.text =                LanguageManager.Instance.Text(10172,                    UtilTools.TimeToHSM(AccountFileInfo.Instance.playerData.QiankundaiDropTimer),                    UtilTools.TimeToHSM(PlayerManager.Instance.gameConstantConfig.qiankundaiMaxTime));            foreach (var playerDataQiankundaiItemData in AccountFileInfo.Instance.playerData.QiankundaiItemDatas)            {                WidgetItem widgetItem = await UIManager.Instance.CreateGComponent<WidgetItem>(null, Content);                widgetItem.InitWidget(new ItemInfo(playerDataQiankundaiItemData));                items.Add(widgetItem);            }        }        public static async CTask OpenPanel()        {            await UIManager.Instance.LoadAndOpenPanel<QiankundaiPanel>(null, UILayer.Top, isShowBG: true);        }        public async override CTask Close()        {            foreach (var widgetItem in items)            {                UIManager.Instance.DormancyGComponent(widgetItem);            }            items.Clear();            await base.Close();        }    }}
 |