// *********************************************************************** // Assembly : Game // Author : Kimch // Created : 2021-01-03 // Description : // Last Modified By : // Last Modified On : // *********************************************************************** // // // *********************************************************************** namespace G.UI { using TMPro; using UnityEngine; using UnityEngine.UI; /// /// /// partial class RankingWindow { #region Field #pragma warning disable CS0649 // 从未对字段赋值,字段将一直保持其默认值 null [KUIFlag] Button _btnClose; [KUIFlag] KUIList __listRankings; [KUIFlag] GameObject __goMyRanking; [KUIFlag] KUIToggleGroup _goPages; #pragma warning restore CS0649 // 从未对字段“”赋值,字段将一直保持其默认值 null RankingWidget _myRanking; private int _curRankingId = RankingProxy.ENDLESS_RANKING_ID; #endregion #region Method /// /// /// public void InitView() { this.SetViewData(); _btnClose.onClick.AddListener(this.OnCloseBtnClick); __listRankings.AddTemplate(true); _myRanking = __goMyRanking.AddComponent(); _goPages.onToggleSelected.AddListener(this.OnToggleIndexChanged); _goPages.toggles[1].gameObject.SetActive(false); _goPages.toggles[2].gameObject.SetActive(false); } /// /// /// public void RefreshView() { var toggles = _goPages.toggles; if ("sword".Equals(this.data)) { toggles[0].gameObject.SetActive(false); toggles[1].gameObject.SetActive(false); toggles[2].gameObject.SetActive(false); toggles[3].gameObject.SetActive(true); _curRankingId = RankingProxy.SWORD_RANKING_ID; PullRanking(); return; } toggles[0].gameObject.SetActive(true); toggles[1].gameObject.SetActive(FunctionProxy.Instance.GetFunctionUnlock(FunctionProxy.FunctionId.Pet_Rank)); toggles[2].gameObject.SetActive(FunctionProxy.Instance.GetFunctionUnlock(FunctionProxy.FunctionId.Battle_Rank)); toggles[3].gameObject.SetActive(false); if ("endless".Equals(this.data)) { if (!toggles[0].isOn) { toggles[0].isOn = true; return; } } if ("pet".Equals(this.data)) { if (!toggles[1].isOn) { toggles[1].isOn = true; return; } } PullRanking(); } void PullRanking() { ServerProxy.Instance.PullRanking(_curRankingId, OnGetData); } private void OnGetData(int error, string message) { var myRankingInfo = RankingProxy.Instance.GetMyRankingInfo(_curRankingId); __listRankings.Clear(); var rankingInfos = RankingProxy.Instance.GetRankingInfos(_curRankingId); if (rankingInfos != null) { foreach (var item in rankingInfos) { __listRankings.GetItem().SetData(item); if (item.isMy) { myRankingInfo.ranking = item.ranking; } } } _myRanking.SetData(myRankingInfo); } private void OnCloseBtnClick() { CloseWindow(this); SoundProxy.PlayFxAsync(GlobalDefine.BUTTON_CLICK_SOUND); } private void OnToggleIndexChanged(int index) { if (index == 0) { _curRankingId = RankingProxy.ENDLESS_RANKING_ID; PullRanking(); } else if (index == 1) { _curRankingId = RankingProxy.PET_RANKING_ID; PullRanking(); } else if (index == 2) { _curRankingId = RankingProxy.BATTLE_RANKING_ID; PullRanking(); } } #endregion } }