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();
- }
- }
- }
|