using System.Collections.Generic; using FairyGUI; using UI.Task; namespace GFGGame { public class OpenBattlePassView : BaseWindow { private UI_OpenBattlePassUI _ui; public override void Dispose() { if (_ui != null) { _ui.Dispose(); _ui = null; } base.Dispose(); } protected override void OnInit() { base.OnInit(); packageName = UI_OpenBattlePassUI.PACKAGE_NAME; _ui = UI_OpenBattlePassUI.Create(); viewCom = _ui.target; viewCom.Center(); _ui.m_CloseBtn.onClick.Add(Hide); // clickBlankToClose = false; _ui.m_Rewards.itemRenderer = SpecialRewardRender; _ui.m_OpenBtn.onClick.Add(OnBtnOpenClick); } private void OnBtnOpenClick(EventContext context) { //TODO:打开购买界面 } protected override void OnShown() { base.OnShown(); SetPrizeData(); } private static void SpecialRewardRender(int index, GObject obj) { var item = UI_RewardIconYellow.Proxy(obj); var itemInfo = (KeyValuePair)obj.parent.data; // if (!(obj.parent.data is int[][] parentData)) // { // UI_RewardIconYellow.ClearProxy(); // return; // } var itemId = itemInfo.Key; var num = itemInfo.Value; var itemCfg = ItemCfgArray.Instance.GetCfg(itemId); if (itemCfg != null) { item.m_loaIcon.url = ResPathUtil.GetCommonGameResPath(itemCfg.res); item.m_num.text = num.ToString(); } UI_RewardIconYellow.ProxyEnd(); } private void SetPrizeData() { //获取所有特别奖励数据 var dataManager = BattlePassTaskDataManager.Instance; var allSpecialCfg = dataManager.GetAllSpecialCfg(); _ui.m_Rewards.numItems = allSpecialCfg.Count; _ui.m_Rewards.data = allSpecialCfg; } } }