123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- 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 AddEventListener()
- {
- base.AddEventListener();
- }
- protected override void OnShown()
- {
- base.OnShown();
- _ui.m_listWeekDanReward.numItems = ArenaRewardCfgArray.Instance.dataArray.Length;
- _ui.m_listUpDanReward.numItems = ArenaRankCfgArray.Instance.dataArray.Length;
- ArenaViewManager.Instance.UpdateDanIcon(_ui.m_comMyDanReward.m_loaDanIcon, 2);
- 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 = { };
- ArenaRankCfg rankCfg = ArenaRankCfgArray.Instance.GetCfg(ArenaDataManager.Instance.Grade);
- List<ArenaRewardCfg> rewardCfgs = ArenaRewardCfgArray.Instance.GetCfgsBygradeName(rankCfg.gradeName);
- for (int i = 0; i < rewardCfgs.Count; i++)
- {
- ArenaRewardCfg rewardCfg = rewardCfgs[i];
- int endRank = rewardCfg.rankInGrade == 0 ? rankCfg.num * rewardCfg.rangeInGrade / 10000 : rewardCfg.rankInGrade;
- int startRank = 0;
- if (i > 0)
- {
- ArenaRewardCfg nextRewardCfg = rewardCfgs[i + 1];
- startRank = nextRewardCfg.rankInGrade == 0 ? rankCfg.num * nextRewardCfg.rangeInGrade / 10000 : nextRewardCfg.rankInGrade;
- }
- if (ArenaDataManager.Instance.Rank > startRank && ArenaDataManager.Instance.Rank <= endRank)
- {
- 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;
- UI_ComMyDanReward.ProxyEnd();
- }
- private void RenderListWeekDanRewardItem(int index, GObject obj)
- {
- ArenaRewardCfg cfg = ArenaRewardCfgArray.Instance.dataArray[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;
- UI_ListDanRewardItem.ProxyEnd();
- }
- private void RenderListUpDanReward(int index, GObject obj)
- {
- ArenaRankCfg cfg = ArenaRankCfgArray.Instance.dataArray[index];
- UI_ListDanRewardItem item = UI_ListDanRewardItem.Proxy(obj);
- 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);
- }
- }
- }
|