using System.Collections.Generic; using ET; using FairyGUI; using UI.Arena; using UnityEngine; namespace GFGGame { public class ArenaDanRewardView : BaseWindow { private UI_ArenaDanRewardUI _ui; public override void Dispose() { if (_ui != null) { _ui.Dispose(); _ui = null; } base.Dispose(); } protected override void OnInit() { base.OnInit(); packageName = UI_ArenaUI.PACKAGE_NAME; _ui = UI_ArenaDanRewardUI.Create(); this.viewCom = _ui.target; this.viewCom.Center(); this.modal = true; viewAnimationType = EnumViewAnimationType.ZOOM_CENTER; _ui.m_listWeekDanReward.itemRenderer = RenderListWeekDanRewardItem; _ui.m_listUpDanReward.itemRenderer = RenderListUpDanReward; _ui.m_comMyDanReward.m_listReward.itemRenderer = RenderListRewardItem; } protected override void OnShown() { base.OnShown(); _ui.m_c1.selectedIndex = 0; _ui.m_listWeekDanReward.numItems = ArenaRewardCfgArray.Instance.dataArray.Length; _ui.m_listUpDanReward.numItems = ArenaRankCfgArray.Instance.dataArray.Length - 1; ArenaViewManager.Instance.UpdateDanIcon(_ui.m_comMyDanReward.m_loaDanIcon, ArenaDataManager.Instance.Grade); UpdateMyReward(); } protected override void OnHide() { base.OnHide(); _ui.m_listUpDanReward.ScrollToView(0); _ui.m_listWeekDanReward.ScrollToView(0); } protected override void RemoveEventListener() { base.RemoveEventListener(); } private void UpdateMyReward() { UI_ComMyDanReward com = UI_ComMyDanReward.Proxy(_ui.m_comMyDanReward.target); ArenaViewManager.Instance.UpdateDanIcon(com.m_loaDanIcon, ArenaDataManager.Instance.Grade); int[][] rewards = { }; List rewardCfgs = ArenaRewardCfgArray.Instance.GetCfgsBygrade(ArenaDataManager.Instance.Grade); for (int i = 0; i < rewardCfgs.Count; i++) { ArenaRewardCfg rewardCfg = rewardCfgs[i]; if (ArenaDataManager.Instance.Rank >= rewardCfg.minRank && ArenaDataManager.Instance.Rank <= rewardCfg.maxRank) { rewards = rewardCfg.bonusWeeklyArr; break; } } if (com.m_listReward.data == null) { com.m_listReward.itemRenderer = RenderListRewardItem; } com.m_listReward.data = rewards; com.m_listReward.numItems = rewards.Length; com.m_c1.selectedIndex = ArenaDataManager.Instance.LastFightTime == 0 ? 0 : 1; UI_ComMyDanReward.ProxyEnd(); } private void RenderListWeekDanRewardItem(int index, GObject obj) { ArenaRewardCfg cfg = ArenaRewardCfgArray.Instance.dataArray[ArenaRewardCfgArray.Instance.dataArray.Length - 1 - index]; UI_ListDanRewardItem item = UI_ListDanRewardItem.Proxy(obj); item.m_txtRank.text = cfg.showName; item.m_imgGot.visible = false; if (item.m_listReward.data == null) { item.m_listReward.itemRenderer = RenderListRewardItem; } item.m_listReward.data = cfg.bonusWeeklyArr; item.m_listReward.numItems = cfg.bonusWeeklyArr.Length; ArenaViewManager.Instance.UpdateDanIcon(item.m_loaDanIcon, cfg.grade); UI_ListDanRewardItem.ProxyEnd(); } private void RenderListUpDanReward(int index, GObject obj) { ArenaRankCfg cfg = ArenaRankCfgArray.Instance.dataArray[ArenaRankCfgArray.Instance.dataArray.Length - 1 - index]; UI_ListDanRewardItem item = UI_ListDanRewardItem.Proxy(obj); ArenaViewManager.Instance.UpdateDanIcon(item.m_loaDanIcon, cfg.id); item.m_imgGot.visible = ArenaDataManager.Instance.HighestGrade >= cfg.id; item.m_txtRank.text = cfg.gradeName; if (item.m_listReward.data == null) { item.m_listReward.itemRenderer = RenderListRewardItem; } item.m_listReward.data = cfg.bonusUpgradeArr; item.m_listReward.numItems = cfg.bonusUpgradeArr.Length; UI_ListDanRewardItem.ProxyEnd(); } private void RenderListRewardItem(int index, GObject obj) { int[][] reward = (int[][])obj.parent.data; ItemData itemData = ItemUtil.createItemData(reward[index]); if (obj.data == null) { obj.data = new ItemView(obj as GComponent); } (obj.data as ItemView).SetData(itemData); //(obj.data as ItemView).SetComItemScale = 0.7f; //(obj.data as ItemView).SetTxtCountPos(185, 155); } } }