123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- 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()
- {
- _myIndex = -1;
- if (_ui.m_c1.selectedIndex == 1)
- {
- if (LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.LeagueQuestionStatus) >= LeagueQuestionStatus.End
- && !LeagueDataManager.Instance.ListAnswerRankDatas.ContainsKey(_ui.m_c1.selectedIndex))
- {
- await LeagueSproxy.ReqGetAnswerRank(_ui.m_c1.selectedIndex);
- }
- UpdateView();
- }
- else if (_ui.m_c1.selectedIndex == 2)
- {
- if (!LeagueDataManager.Instance.ListAnswerRankDatas.ContainsKey(_ui.m_c1.selectedIndex))
- {
- await LeagueSproxy.ReqGetAnswerRank(_ui.m_c1.selectedIndex);
- }
- UpdateView();
- }
- }
- private void UpdateView()
- {
- _ui.m_list.numItems = LeagueDataManager.Instance.ListAnswerRankDatas[_ui.m_c1.selectedIndex].Count;
- UpdateItem(_myIndex, _ui.m_comMine.target, true);
- }
- 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 :
- UI_ListRankItem item = UI_ListRankItem.Proxy(obj);
- if (isMine)
- {
- answerData = index >= 0 ? LeagueDataManager.Instance.ListAnswerRankDatas[_ui.m_c1.selectedIndex][index] : null;
- RoleInfoManager.Instance.UpdateHeadWithLv(item.m_comHead, RoleDataManager.headId, RoleDataManager.headBorderId, RoleDataManager.lvl);
- item.m_txtName.text = RoleDataManager.roleName;
- }
- else
- {
- answerData = LeagueDataManager.Instance.ListAnswerRankDatas[_ui.m_c1.selectedIndex][index];
- OtherRoleInfoData roleInfoData = LeagueDataManager.Instance.GetMemberRoleInfo(answerData.RoleId);
- RoleInfoManager.Instance.UpdateHeadWithLv(item.m_comHead, roleInfoData.headId, roleInfoData.headBorderId, roleInfoData.roleLv);
- item.m_txtName.text = answerData == null ? "--" : roleInfoData.roleName;
- if (answerData.RoleId == RoleDataManager.roleId) _myIndex = index;
- }
- // int rank = index + 1;
- item.m_txtRank.text = answerData == null ? "--" : (index + 1).ToString();
- item.m_c1.selectedIndex = answerData != null && index <= 3 ? index : 3;
- item.m_txtContent.SetVar("value", answerData == null ? "0" : answerData.Num.ToString()).FlushVars();
- UI_ListRankItem.ProxyEnd();
- }
- }
- }
|