| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 | using System.Threading.Tasks;using ET;using FairyGUI;using UI.Arena;using UnityEngine;namespace GFGGame{    public class ArenaRoundResultView : BaseWindow    {        private UI_ArenaRoundResultUI _ui;        private ArenaDataManager _dataManager;        private int winCount = 0;        private bool isFinallyFight = false;//是否最后一场战斗        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_ArenaRoundResultUI.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();            ViewManager.SetMaskAlpha(0);            winCount = 0;            _dataManager = ArenaDataManager.Instance;            _ui.m_list.numItems = _dataManager.CurFightIndex;            isFinallyFight = _ui.m_list.numItems == 3;            _ui.m_ComResult.target.visible = isFinallyFight;            this.clickBlankToClose = isFinallyFight;            if (isFinallyFight)            {                ArenaViewManager.Instance.UpdateAllScoreResult(_ui.m_ComResult.target, _dataManager.myScore, _dataManager.targetScore);            }            else            {                Timers.inst.Add(1, 1, StartNextRound);            }        }        protected override void OnHide()        {            base.OnHide();            ViewManager.SetMaskAlpha(0.6f);            if (isFinallyFight)            {                FinishFight();            }        }        protected override void RemoveEventListener()        {            base.RemoveEventListener();        }        private void RenderListItem(int index, GObject obj)        {            ArenaViewManager.Instance.UpdateFightRoundResult(obj, index, _dataManager.myScore, _dataManager.targetScore, _dataManager.LastTargets[_dataManager.SelectTargetIndex], out bool isWin);            if (isWin) winCount++;        }        private void StartNextRound(object param)        {            ArenaTargetData targetData = _dataManager.LastTargets[_dataManager.SelectTargetIndex];            ViewManager.Show<StoryFightTargetScoreView>(new object[] { _dataManager.DressupList[_dataManager.CurFightIndex], targetData.FightDatas[_dataManager.CurFightIndex] }, null, true);        }        private void FinishFight()        {            ArenaDataManager dataManager = ArenaDataManager.Instance;            if (dataManager.Grade > dataManager.LastGrade)            {                BonusController.TryShowBonusList(dataManager.BonusList, () =>                {                    ViewManager.Hide<ArenaFightResultView>();                    ViewManager.Show<ArenaDanUpView>(new object[] { dataManager.LastGrade, ArenaDataManager.Instance.Grade, dataManager.RewardId });                });            }            else if (dataManager.Rank < ArenaDataManager.Instance.LastRank)            {                BonusController.TryShowBonusList(dataManager.BonusList, () =>                {                    ViewManager.Hide<ArenaFightResultView>();                    ViewManager.Show<ArenaRankUpView>(new object[] { dataManager.LastGrade, dataManager.LastRank, dataManager.LastTargetInfo.roleName, dataManager.LastTargetInfo.headId, dataManager.LastTargetInfo.headRes });                });            }            else            {                BonusController.TryShowBonusList(dataManager.BonusList, () =>                {                    ViewManager.Hide<ArenaFightResultView>();                });            }        }    }}
 |