123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- using System.Text.RegularExpressions;
- using ET;
- using FairyGUI;
- using UI.League;
- using UnityEngine;
- namespace GFGGame
- {
- //联盟答题排行榜
- public class LeagueAnswerRankView : BaseWindow
- {
- private UI_LeagueAnswerRankUI _ui;
- private int _myIndex = -1;
- public override void Dispose()
- {
- if (_ui != null)
- {
- _ui.Dispose();
- _ui = null;
- }
- base.Dispose();
- }
- protected override void OnInit()
- {
- base.OnInit();
- packageName = UI_LeagueAnswerRankUI.PACKAGE_NAME;
- _ui = UI_LeagueAnswerRankUI.Create();
- this.viewCom = _ui.target;
- this.viewCom.Center();
- this.modal = true;
- viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
- _ui.m_btnClose.onClick.Add(Hide);
- _ui.m_c1.onChanged.Add(OnCtrlChange);
- _ui.m_list.itemRenderer = RenderListItem;
- }
- protected override void AddEventListener()
- {
- base.AddEventListener();
- }
- protected override void OnShown()
- {
- base.OnShown();
- _ui.m_c1.selectedIndex = 1;
- }
- protected override void OnHide()
- {
- base.OnHide();
- _ui.m_c1.selectedIndex = 0;
- }
- protected override void RemoveEventListener()
- {
- base.RemoveEventListener();
- }
- private async void OnCtrlChange()
- {
- if (_ui.m_c1.selectedIndex == 1)
- {
- if (LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.LeagueQuestionStatus) == LeagueQuestionStatus.End
- && LeagueDataManager.Instance.ListAnswerRankDatas[_ui.m_c1.selectedIndex].Count == 0
- || LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.LeagueQuestionStatus) > LeagueQuestionStatus.End)
- {
- await LeagueSproxy.ReqGetAnswerRank(_ui.m_c1.selectedIndex);
- }
- UpdateView();
- }
- else if (_ui.m_c1.selectedIndex == 2)
- {
- if (LeagueDataManager.Instance.ListAnswerRankDatas[_ui.m_c1.selectedIndex].Count == 0)
- {
- await LeagueSproxy.ReqGetAnswerRank(_ui.m_c1.selectedIndex);
- }
- UpdateView();
- }
- }
- private void UpdateView()
- {
- _ui.m_list.numItems = LeagueDataManager.Instance.ListAnswerRankDatas[_ui.m_c1.selectedIndex].Count;
- }
- private void RenderListItem(int index, GObject obj)
- {
- UpdateItem(index, obj, false);
- }
- private void UpdateItem(int index, GObject obj, bool isMine)
- {
- LeagueAnswerData answerData = index < 0 ? null : LeagueDataManager.Instance.ListAnswerRankDatas[_ui.m_c1.selectedIndex][index];
- UI_ListRankItem item = UI_ListRankItem.Proxy(obj);
- if (isMine)
- {
- RoleInfoManager.Instance.UpdateHeadWithLv(item.target, RoleDataManager.headId, RoleDataManager.headBorderId, RoleDataManager.lvl);
- }
- else
- {
- OtherRoleInfoData roleInfoData = LeagueDataManager.Instance.LeagueData.LeagueMemberDatas[answerData.RoleId].RoleInfo;
- RoleInfoManager.Instance.UpdateHeadWithLv(item.target, roleInfoData.headId, roleInfoData.headBorderId, roleInfoData.roleLv);
- }
- int rank = index + 1;
- item.m_txtRank.text = answerData == null ? "--" : rank.ToString();
- item.m_c1.selectedIndex = answerData != null && rank <= 3 ? rank : 0;
- item.m_txtRank.text = string.Format("答对{0}题", answerData == null ? 0 : answerData.Num);
- UI_ListRankItem.ProxyEnd();
- }
- }
- }
|