| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 | using System;using System.Collections.Generic;using ET;using FairyGUI;using UI.CommonGame;using UI.TimeTracing;using UnityEngine;namespace GFGGame{    public class TimeTracingLevelRewardView : BaseWindow    {        private UI_TimeTracingLevelRewardUI _ui;        private int levelID;        private List<CompositeLevelbonusCfg> bonusList = new List<CompositeLevelbonusCfg>();        public override void Dispose()        {            base.Dispose();        }        protected override void OnInit()        {            base.OnInit();            packageName = UI_TimeTracingLevelRewardUI.PACKAGE_NAME;            _ui = UI_TimeTracingLevelRewardUI.Create();            this.viewCom = _ui.target;            isfullScreen = true;            modal = true;            viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;            _ui.m_btnGet.onClick.Add(OnBtnGetClcik);            _ui.m_list.itemRenderer = RenderListItem;        }        protected override void OnShown()        {            base.OnShown();            levelID = (int)this.viewData;            UpdateView();        }        protected override void OnHide()        {            base.OnHide();        }        private void UpdateView()        {            _ui.m_txtScore.text = string.Format("最高评分:{0}",InstanceZonesDataManager.GetScoreHighest(levelID));            //_ui.m_btnGet.grayed = !StudioDataManager.Instance.GetFilingRewardState(StudioDataManager.Instance.filingChapterId);            bonusList = CompositeLevelbonusCfgArray.Instance.GetCfgsBystoryLevelId(levelID);            _ui.m_list.numItems = bonusList.Count;        }        private void RenderListItem(int index, GObject obj)        {            UI_ListScoreRewardItem item = UI_ListScoreRewardItem.Proxy(obj);            item.m_canGet.visible = TimeTracingDataManager.LevelRewardDic[levelID][bonusList[index].id] == ConstBonusStatus.CAN_GET;            item.m_isGot.visible = TimeTracingDataManager.LevelRewardDic[levelID][bonusList[index].id] == ConstBonusStatus.GOT;            item.m_txtDesc.text = string.Format("总评分达到{0}", bonusList[index].score.ToString());            item.m_listReward.data = bonusList[index].bonusArr;            item.m_listReward.itemRenderer = RenderListRewardItem;            if(item.target.data == null)            {                item.target.onClick.Add(GetLevelRewardBtn);            }            item.target.data = bonusList[index];            item.m_listReward.numItems = bonusList[index].bonusArr.Length;            UI_ListScoreRewardItem.ProxyEnd();        }        private void RenderListRewardItem(int index, GObject obj)        {            int[][] rewards = (int[][])obj.parent.data;            ItemData reward = ItemUtil.createItemData(rewards[index]);            if (obj.data == null)            {                obj.data = new ItemView(obj as GComponent);            }            (obj.data as ItemView).SetData(reward);        }        private async void GetLevelRewardBtn(EventContext context)        {            GObject obj = context.sender as GObject;            CompositeLevelbonusCfg bonuscfg = (CompositeLevelbonusCfg)obj.data;            if (bonuscfg.score > InstanceZonesDataManager.GetScoreHighest(levelID) || TimeTracingDataManager.LevelRewardDic[levelID][bonuscfg.id] != ConstBonusStatus.CAN_GET)            {                return;            }            await TimeTracingSProxy.ReqGetLevelReward(levelID, bonuscfg.id);            EventAgent.DispatchEvent(ConstMessage.TIMETRACINGREDUPDATE);            _ui.m_list.numItems = bonusList.Count;         }        private async void OnBtnGetClcik()        {            if(!TimeTracingDataManager.Instance.GetLevelRewardStatus(levelID))            {                return;            }            await TimeTracingSProxy.ReqGetAllLevelReward(levelID);            _ui.m_list.numItems = bonusList.Count;        }        private void OnClickBtnBack()        {            this.Hide();        }    }}
 |