using ET; using FairyGUI; using UI.CommonGame; using UI.Studio; using UnityEngine; using UI_ListRewardItem = UI.Studio.UI_ListRewardItem; namespace GFGGame { public class StudioFilingRewardView : BaseWindow { private UI_StudioFilingRewardUI _ui; public override void Dispose() { if (_ui != null) { _ui.Dispose(); _ui = null; } base.Dispose(); } protected override void OnInit() { base.OnInit(); packageName = UI_StudioFilingRewardUI.PACKAGE_NAME; _ui = UI_StudioFilingRewardUI.Create(); this.viewCom = _ui.target; this.viewCom.Center(); this.modal = true; viewAnimationType = EnumViewAnimationType.ZOOM_CENTER; _ui.m_list.itemRenderer = RenderListItem; } protected override void AddEventListener() { base.AddEventListener(); } protected override void OnShown() { base.OnShown(); _ui.m_txtScore.text = string.Format("本章评分:{0}", StudioDataManager.Instance.GetStudioDataById(StudioDataManager.Instance.filingChapterId).ChapterScore); _ui.m_list.numItems = FilingRewardCfgArray.Instance.GetCfgsByid(StudioDataManager.Instance.filingChapterId).Count; } protected override void OnHide() { base.OnHide(); _ui.m_list.ScrollToView(0); } protected override void RemoveEventListener() { base.RemoveEventListener(); } private void RenderListItem(int index, GObject obj) { FilingRewardCfg cfg = FilingRewardCfgArray.Instance.GetCfgsByid(StudioDataManager.Instance.filingChapterId)[index]; UI_ListRewardItem item = UI_ListRewardItem.Proxy(obj); item.m_txtDesc.text = string.Format("总评分达到{0}", cfg.score); item.m_listReward.data = cfg.itemsArr; item.m_listReward.itemRenderer = RenderListRewardItem; item.m_listReward.numItems = cfg.itemsArr.Length; item.m_listReward.SetScale(0.6f, 0.6f); UI_ListRewardItem.ProxyEnd(); } private void RenderListRewardItem(int index, GObject obj) { int[][] rewards = (int[][])obj.parent.data; UI_ComItem item = UI_ComItem.Proxy(obj); ItemData reward = ItemUtil.createItemData(rewards[index]);//_rewardDatas[index]; if (obj.data == null) { obj.data = new ItemView(obj as GComponent); } (obj.data as ItemView).SetData(reward); UI_ComItem.ClearProxy(); } } }