using ET; using FairyGUI; using UI.Arena; using UnityEngine; namespace GFGGame { public class ArenaResultQuickView : BaseWindow { private UI_ArenaResultQuickUI _ui; private int _winCount = 0; private ArenaTargetData _targetData; 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_ArenaResultQuickUI.Create(); this.viewCom = _ui.target; this.viewCom.Center(); this.modal = true; viewAnimationType = EnumViewAnimationType.ZOOM_CENTER; // _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(); _winCount = 0; _targetData = ArenaDataManager.Instance.Targets[ArenaDataManager.Instance.SelectTargetIndex]; _ui.m_txtTargetName.text = _targetData.RoleInfo.roleName; _ui.m_txtTargetRank.text = _targetData.RankInGrade.ToString(); ArenaRankCfg rankCfg = ArenaRankCfgArray.Instance.GetCfg(_targetData.Grade); _ui.m_txtDantitle.text = rankCfg.gradeName; if (_targetData.Type == FightTargetType.PLAYER) { RoleInfoManager.Instance.UpdateHead(_ui.m_comTargetHead, _targetData.RoleInfo.headId, 0); } else { RoleInfoManager.Instance.UpdateNpcHead(_ui.m_comTargetHead, _targetData.RoleInfo.headRes); } _ui.m_list.numItems = ArenaDataManager.Instance.myScore.Count; ArenaViewManager.Instance.UpdateAllScoreResult(_ui.m_comResult.target, ArenaDataManager.Instance.myScore, ArenaDataManager.Instance.targetScore); } protected override void OnHide() { base.OnHide(); FinishFight(); } protected override void RemoveEventListener() { base.RemoveEventListener(); } private void RenderListItem(int index, GObject obj) { ArenaViewManager.Instance.UpdateFightRoundResult(obj, index, ArenaDataManager.Instance.myScore, ArenaDataManager.Instance.targetScore, _targetData, out bool isWin); if (isWin) _winCount++; } private void FinishFight() { ArenaDataManager dataManager = ArenaDataManager.Instance; if (dataManager.Grade > dataManager.LastGrade) { BonusController.TryShowBonusList(dataManager.BonusList, () => { ViewManager.Show(new object[] { dataManager.LastGrade, ArenaDataManager.Instance.Grade, dataManager.RewardId }); }); } else if (dataManager.Rank < ArenaDataManager.Instance.LastRank) { BonusController.TryShowBonusList(dataManager.BonusList, () => { ViewManager.Show(new object[] { dataManager.LastGrade, dataManager.LastRank, dataManager.LastTargetInfo.roleName, dataManager.LastTargetInfo.headId, dataManager.LastTargetInfo.headRes }); }); } else { BonusController.TryShowBonusList(dataManager.BonusList); } } } }