123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238 |
- using System;
- using System.Collections.Generic;
- using ET;
- using FairyGUI;
- using UI.CommonGame;
- using UI.TimeTracing;
- using UnityEngine;
- namespace GFGGame
- {
- public class TimeTracingSuitRankView : BaseWindow
- {
- private UI_TimeTracingSuitRankUI _ui;
- private int SuitID;
- private int rankType;
- private int mTime;
- private int tTime;
- private int curTime;
- public override void Dispose()
- {
- base.Dispose();
- }
- protected override void OnInit()
- {
- base.OnInit();
- packageName = UI_TimeTracingSuitRankUI.PACKAGE_NAME;
- _ui = UI_TimeTracingSuitRankUI.Create();
- this.viewCom = _ui.target;
- isfullScreen = true;
- modal = true;
- _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();
- SuitID = (int)(this.viewData as object[])[0];
- 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.SuitRankDatasDic[rankType].Count;
- if (TimeTracingDataManager.Instance.SuitRankDatasDic[rankType].Count > 0)
- {
- _ui.m_txtTips.visible = false;
- }
- else
- {
- _ui.m_txtTips.visible = true;
- }
- if (TimeTracingDataManager.Instance.mySuitRankInfo[rankType] == null)
- {
- _ui.m_myRank.target.visible = false;
- }
- else if(TimeTracingDataManager.Instance.mySuitRankInfo[rankType].RankIndex == 0)
- {
- _ui.m_myRank.target.visible = true;
- SuitCollectRankProto itemdata = TimeTracingDataManager.Instance.mySuitRankInfo[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_TimeText.text = "--";
- _ui.m_myRank.m_proText.text = itemdata.CompletedNum.ToString() + "/" + itemdata.TotalNum;
- _ui.m_myRank.m_btnLook.visible = false;
- _ui.m_myRank.m_c1.selectedIndex = 3;
- 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;
- SuitCollectRankProto itemdata = TimeTracingDataManager.Instance.mySuitRankInfo[rankType];
- _ui.m_myRank.m_txtName.text = itemdata.RoleName;
- //_ui.m_myRank.m_rankText.text = itemdata.RankIndex.ToString();
- UpdateMyRank();
- _ui.m_myRank.m_teamName.text = itemdata.LeagueName;
- _ui.m_myRank.m_TimeText.text = TimeTracingDataManager.Instance.ChangeTime(itemdata.TimeSecNum);
- _ui.m_myRank.m_proText.text = itemdata.CompletedNum.ToString() + "/" + itemdata.TotalNum;
- _ui.m_myRank.m_btnLook.visible = false;
- _ui.m_myRank.m_c1.selectedIndex = Math.Min(itemdata.RankIndex - 1, 3);
- RoleInfoManager.Instance.UpdateLv(_ui.m_myRank.m_comLv, itemdata.RoleLvl);
- RoleInfoManager.Instance.UpdateHead(_ui.m_myRank.m_comHead, itemdata.HeadItemId, itemdata.HeadBorderItemId);
- }
- }
- private void UpdateList()
- {
- _ui.m_listRank.RefreshVirtualList();
- }
- private void RenderListItem(int index, GObject obj)
- {
- UI_TimeTracingSuitRankItem item = UI_TimeTracingSuitRankItem.Proxy(obj);
- SuitCollectRankProto itemdata = TimeTracingDataManager.Instance.SuitRankDatasDic[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 = "--";
- 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_proText.text = itemdata.CompletedNum.ToString() + "/" + itemdata.TotalNum;
- item.m_TimeText.text = TimeTracingDataManager.Instance.ChangeTime(itemdata.TimeSecNum);
- item.m_teamName.text = itemdata.LeagueName;
- 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_TimeTracingSuitRankItem.ProxyEnd();
- }
- private void OnTabChange()
- {
- if (_ui.m_c1.selectedIndex == 1)
- {
- rankType = 1;
- }
- else
- {
- rankType = 0;
- }
- UpdateRank();
- }
- private void UpdateMyRank()
- {
- SuitCollectRankProto itemdata = TimeTracingDataManager.Instance.mySuitRankInfo[rankType];
- 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%";
- }
- }
- 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 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 ReqGetSuitRank();
- curTime = (int)(TimeTracingDataManager.RefreshTime - TimeHelper.ServerNow() + 1000) / 1000;
- UpdateRank();
- }
- curTime--;
- }
- private async ETTask ReqGetSuitRank()
- {
- Timers.inst.Remove(TimeUpdate);
- await TimeTracingSProxy.ReqGetSuitRank(SuitID);
- await TimeTracingSProxy.ReqGetSuitFriendRank(SuitID);
- Timers.inst.Add(1,0,TimeUpdate);
- }
- }
- }
|