| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 | using System.Collections.Generic;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(() =>            {                AccountFileInfo.Instance.playerData.QiankundaiDropTimer = 0;                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);                            }                        }                    }                }                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 = $"挂机时间:{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);        }        public override void Close()        {            foreach (var widgetItem in items)            {                UIManager.Instance.DormancyGComponent(widgetItem);            }            items.Clear();            base.Close();        }    }}
 |