161 lines
3.6 KiB
C#
161 lines
3.6 KiB
C#
// ***********************************************************************
|
|
// Assembly : Game
|
|
// Author : Kimch
|
|
// Created : 2021-01-03
|
|
// Description :
|
|
// Last Modified By :
|
|
// Last Modified On :
|
|
// ***********************************************************************
|
|
// <copyright file= "RankingWindow.View" company="Kunpo"></copyright>
|
|
// <summary></summary>
|
|
// ***********************************************************************
|
|
namespace G.UI
|
|
{
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
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
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public void InitView()
|
|
{
|
|
this.SetViewData();
|
|
_btnClose.onClick.AddListener(this.OnCloseBtnClick);
|
|
|
|
__listRankings.AddTemplate<RankingWidget>(true);
|
|
_myRanking = __goMyRanking.AddComponent<RankingWidget>();
|
|
|
|
_goPages.onToggleSelected.AddListener(this.OnToggleIndexChanged);
|
|
_goPages.toggles[1].gameObject.SetActive(false);
|
|
_goPages.toggles[2].gameObject.SetActive(false);
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
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
|
|
}
|
|
}
|