using ET; using FairyGUI; using UI.Arena; using UnityEngine; namespace GFGGame { public class ArenaFightRecordView : BaseWindow { private UI_ArenaFightRecordUI _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_ArenaFightRecordUI.Create(); this.viewCom = _ui.target; isfullScreen = true; // _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("gzs_bjbj"); _ui.m_list.itemRenderer = RenderListItem; } protected override void AddEventListener() { base.AddEventListener(); } protected override void OnShown() { base.OnShown(); _ui.m_list.numItems = ArenaDataManager.Instance.HistoryDatas.Count; } protected override void OnHide() { base.OnHide(); if (_ui.m_list.numItems > 0) _ui.m_list.ScrollToView(0); } protected override void RemoveEventListener() { base.RemoveEventListener(); } private void RenderListItem(int index, GObject obj) { ArenaHistoryData historyData = ArenaDataManager.Instance.HistoryDatas[index]; UI_ListFightRecordItem item = UI_ListFightRecordItem.Proxy(obj); item.m_c1.selectedIndex = 0; item.m_ctrResult.selectedIndex = historyData.isWin ? 1 : 0; item.m_ctrDan.selectedIndex = historyData.GradeChangeType; item.m_txtRank.text = historyData.targetData.RankInGrade.ToString(); item.m_txtTargetFightScore.text = string.Format("竞技场战力:{0}", ArenaDataManager.Instance.GetAllFightScore(historyData.targetData.Type, historyData.targetData.RoleDressupList, historyData.targetData.RobotDressupList)); ArenaViewManager.Instance.UpdateDanIcon(item.m_loaDanIcon, historyData.targetData.Grade); TimeUtil.FormattingTime(historyData.FightTime, TimeHelper.ServerNow(), out int num, out string str); str = num < 60 ? "刚刚" : str + "前"; item.m_txtTime.text = string.Format("{0} {1}", str, historyData.IsChallenge ? "发起挑战" : "接收挑战"); item.m_btnShow.data = historyData; if (item.m_btnLook.data == null) { item.m_btnLook.onClick.Add(OnBtnLookClick); } item.m_btnLook.data = historyData; if (item.m_listResult.data == null) { item.m_listResult.itemRenderer = RenderListResultItem; } item.m_listResult.data = historyData; item.m_listResult.numItems = 3; ArenaViewManager.Instance.UpdateAllScore(item.m_comResult.target, historyData.MyScores, historyData.TargetScores); UI_ListFightRecordItem.ProxyEnd(); } private void RenderListResultItem(int index, GObject obj) { ArenaHistoryData historyData = obj.parent.data as ArenaHistoryData; ArenaViewManager.Instance.UpdateFightRoundResult(obj, index, historyData.MyScores, historyData.TargetScores, historyData.targetData, out bool isWin); } private void OnBtnLookClick(EventContext context) { ArenaHistoryData historyData = (context.sender as GObject).data as ArenaHistoryData; } } }