| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 | using System;using System.Collections.Generic;using ET;using FairyGUI;using UI.CommonGame;using UI.TimeTracing;using UnityEngine;namespace GFGGame{    public class TimeTracingLevelRankView : BaseWindow    {        private UI_TimeTracingLevelRankUI _ui;        private int LevelID;        private int rankType;        private int curTime;        private int mTime;        private int tTime;        public override void Dispose()        {            base.Dispose();        }        protected override void OnInit()        {            base.OnInit();            packageName = UI_TimeTracingLevelRankUI.PACKAGE_NAME;            _ui = UI_TimeTracingLevelRankUI.Create();            this.viewCom = _ui.target;            isfullScreen = true;            modal = true;            viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;            _ui.m_btnBack.onClick.Add(OnClickBtnBack);            _ui.m_c1.onChanged.Add(OnTabChange);            _ui.m_rulerBtn.onClick.Add(RuleController.ShowRuleView);            _ui.m_listRank.SetVirtual();            _ui.m_listRank.itemRenderer = RenderListItem;        }        protected override void OnShown()        {            base.OnShown();            LevelID = (int)this.viewData;            curTime = (int)(TimeTracingDataManager.RefreshTime - TimeHelper.ServerNow())/1000;            _ui.m_rulerBtn.data = 300031;            UpdateView();            if (curTime > 60)            {                _ui.m_timeText.text = string.Format("倒计时:{0}分{1}秒", curTime / 60, curTime % 60);            }            else            {                _ui.m_timeText.text = string.Format("倒计时:{0}分{1}秒", 0, tTime);            }            Timers.inst.Add(1, 0, TimeUpdate);        }        protected override void OnHide()        {            Timers.inst.Remove(TimeUpdate);            base.OnHide();        }        private void UpdateView()        {            rankType = 0;            _ui.m_c1.selectedIndex = rankType;            UpdateRank();        }        private void UpdateRank()        {            _ui.m_listRank.numItems = TimeTracingDataManager.Instance.LevelRankDatasDic[rankType].Count;            if (TimeTracingDataManager.Instance.LevelRankDatasDic[rankType].Count > 0)            {                _ui.m_txtTips.visible = false;            }            else            {                _ui.m_txtTips.visible = true;            }            if (TimeTracingDataManager.Instance.myLevelRankInfo[rankType] == null)            {                _ui.m_myRank.target.visible = false;            }            else if(TimeTracingDataManager.Instance.myLevelRankInfo[rankType].RankIndex == 0)            {                _ui.m_myRank.target.visible = true;                LevelRankProto itemdata = TimeTracingDataManager.Instance.myLevelRankInfo[rankType];                _ui.m_myRank.m_txtName.text = itemdata.RoleName;                _ui.m_myRank.m_rankText.text = "--";                _ui.m_myRank.m_teamName.text = itemdata.LeagueName;                _ui.m_myRank.m_scoreText.text = "--";                _ui.m_myRank.m_c1.selectedIndex = 3;                _ui.m_myRank.m_btnLook.visible = false;                RoleInfoManager.Instance.UpdateLv(_ui.m_myRank.m_comLv, itemdata.RoleLvl);                RoleInfoManager.Instance.UpdateHead(_ui.m_myRank.m_comHead, itemdata.HeadItemId, itemdata.HeadBorderItemId);            }            else            {                _ui.m_myRank.target.visible = true;                LevelRankProto itemdata = TimeTracingDataManager.Instance.myLevelRankInfo[rankType];                _ui.m_myRank.m_txtName.text = itemdata.RoleName;                if(itemdata.RankIndex <= 100)                {                    _ui.m_myRank.m_rankText.text = itemdata.RankIndex.ToString();                }                else if(itemdata.RankIndex> 100 && itemdata.RankIndex<=300)                {                    _ui.m_myRank.m_rankText.text = "前10%";                }                else if (itemdata.RankIndex > 300 && itemdata.RankIndex <= 500)                {                    _ui.m_myRank.m_rankText.text = "前30%";                }                else if (itemdata.RankIndex > 500 && itemdata.RankIndex <= 1000)                {                    _ui.m_myRank.m_rankText.text = "前50%";                }                else if (itemdata.RankIndex > 1000 && itemdata.RankIndex <= 3000)                {                    _ui.m_myRank.m_rankText.text = "前80%";                }                else                {                    _ui.m_myRank.m_rankText.text = "前100%";                }                _ui.m_myRank.m_rankText.text = itemdata.RankIndex.ToString();                _ui.m_myRank.m_teamName.text = itemdata.LeagueName;                _ui.m_myRank.m_scoreText.text = itemdata.RatingScore.ToString();                _ui.m_myRank.m_c1.selectedIndex = Math.Min(itemdata.RankIndex - 1, 3);                _ui.m_myRank.m_btnLook.visible = false;                RoleInfoManager.Instance.UpdateLv(_ui.m_myRank.m_comLv, itemdata.RoleLvl);                RoleInfoManager.Instance.UpdateHead(_ui.m_myRank.m_comHead, itemdata.HeadItemId, itemdata.HeadBorderItemId);            }        }        private void RenderListItem(int index, GObject obj)        {            UI_TimeTracingLevelRankItem item = UI_TimeTracingLevelRankItem.Proxy(obj);            LevelRankProto itemdata = TimeTracingDataManager.Instance.LevelRankDatasDic[rankType][index];            item.m_c1.selectedIndex = Math.Min(index, 3);            if (itemdata == null)            {                item.m_rankText.text = "--";                item.m_txtName.text = "--";                item.m_teamName.text = "--";                item.m_scoreText.text = "";                RoleInfoManager.Instance.UpdateLv(item.m_comLv, 0);                RoleInfoManager.Instance.UpdateArenaNpcHead(item.m_comHead, "");            }            else            {                item.m_txtName.text = itemdata.RoleName;                item.m_rankText.text = itemdata.RankIndex.ToString();                item.m_teamName.text = itemdata.LeagueName;                item.m_scoreText.text = itemdata.RatingScore.ToString();                RoleInfoManager.Instance.UpdateLv(item.m_comLv, itemdata.RoleLvl);                RoleInfoManager.Instance.UpdateHead(item.m_comHead, itemdata.HeadItemId, itemdata.HeadBorderItemId);            }            if (item.m_comHead.data == null)            {                //item.m_btnLook.onClick.Add(OnBtnLookClick);                item.m_btnLook.visible = false;                item.m_comHead.onClick.Add(OnBtnLookClick);            }            item.m_comHead.data = itemdata;            UI_TimeTracingLevelRankItem.ProxyEnd();        }        private void OnTabChange()        {            if (_ui.m_c1.selectedIndex == 1)            {                rankType = 1;            }            else            {                rankType = 0;            }            UpdateRank();        }        private async void TimeUpdate(object param = null)        {            if(curTime > 60)            {                mTime = curTime / 60;                tTime = curTime % 60;            }            else            {                mTime = 0;                tTime = curTime;            }            _ui.m_timeText.text = string.Format("倒计时:{0}分{1}秒", mTime, tTime);            if (curTime <= 0)            {                //请求协议                 await ReqGetLevelRank();                curTime = (int)(TimeTracingDataManager.RefreshTime - TimeHelper.ServerNow() + 2000) / 1000;                UpdateRank();            }            curTime--;        }        private void OnClickRankBtn()        {        }        private async void OnBtnLookClick(EventContext context)        {            //TimeTracingSuitRankData targetData = (context.sender as GObject).data as TimeTracingSuitRankData;            //bool result = await ArenaSproxy.ReqArenaFightAttr(targetData.RoleInfo.roleId, targetData.FightDatas);            //if (result)            //{            //    ViewManager.Show<ArenaDressInfoView>(new object[] { FightRoleType.TAEGET, 0, targetData.FightDatas, typeof(ArenaRankView).FullName }, true);            //}        }        private void OnClickBtnBack()        {            this.Hide();        }        private async ETTask ReqGetLevelRank()        {            Timers.inst.Remove(TimeUpdate);            await TimeTracingSProxy.ReqGetLevelRank(LevelID);            await TimeTracingSProxy.ReqGetLevelFriendRank(LevelID);            Timers.inst.Add(1, 0, TimeUpdate);        }    }}
 |