zxl
/
CTT
forked from Cal/CTT
1
0
Fork 0
CTT/Unity/Assets/HotfixView/UI/RankingUI/RankingUI.cs

117 lines
4.2 KiB
C#
Raw Normal View History

2021-04-08 20:09:59 +08:00

using ET;
using System;
using System.Collections.Generic;
namespace ET
{
public class RankingUIAwakeSyatem : AwakeSystem<RankingUI>
{
public override void Awake(RankingUI self)
{
self.Awake();
}
}
public class RankingUIDestroySyatem : DestroySystem<RankingUI>
{
public override void Destroy(RankingUI self)
{
self.Destroy();
}
}
public class RankingUI : Entity
{
public FUI_RankUI ui;
public void Awake()
{
ui = GetParent<FUI_RankUI>();
AwakeAsync().Coroutine();
}
private async ETVoid AwakeAsync()
{
//!临时变量
int selectIndex = 0;
ui.m_control.onChanged.Set(async () =>
{
selectIndex = ui.m_control.selectedIndex;
await GetRanking(selectIndex);
});
await GetRanking(selectIndex);
async ETTask GetRanking(int selectedIndex)
{
var ret = await SessionComponent.Instance.Call<M2C_GetRanking>(new C2M_GetRanking { Index = selectedIndex });
if (!ret.Message.IsNullOrEmpty())
{
TipHelper.OpenUI(ret.Message);
return;
}
ShowUI((RankingInfo.RankingType)selectedIndex, ret.RankingInfoList);
}
void ShowUI(RankingInfo.RankingType rankingType, List<RankingInfo> rankingInfoList)
{
int index = -1;
ui.m_rankList.RemoveChildrenToPool();
foreach (var rankingInfo in rankingInfoList)
{
var label = ui.m_rankList.AddItemFromPool();
var labelItem = FUI_LabelRankItem.GetFormPool(this.ui,label);
if (++index < 3)
{
labelItem.m_control.selectedIndex = index;
}
else
{
labelItem.m_control.selectedIndex = 3;
}
labelItem.m_rank.text = (index + 1).ToString();
labelItem.m_txtName.text = rankingInfo.Name;
labelItem.m_txtJob.text = null;
switch (rankingType)
{
case RankingInfo.RankingType.Level:
labelItem.m_txtJob.text = rankingInfo.Job;
labelItem.m_txtValue.text = (int)rankingInfo.Value + "";
break;
case RankingInfo.RankingType.Coin:
var (gold, sliver, coin) = TabHelper.GetCoinFormat((long)rankingInfo.Value);
labelItem.m_txtValue.text = $"{ gold} {TabHelper.Gold} {sliver} {TabHelper.Sliver} {coin} {TabHelper.Coin}";
break;
case RankingInfo.RankingType.Hp:
case RankingInfo.RankingType.Mp:
case RankingInfo.RankingType.PAtk:
case RankingInfo.RankingType.MAtk:
case RankingInfo.RankingType.PDef:
case RankingInfo.RankingType.MDef:
labelItem.m_txtValue.text = (int)rankingInfo.Value + "";
break;
case RankingInfo.RankingType.Pet:
break;
case RankingInfo.RankingType.Dvo:
case RankingInfo.RankingType.PCriR:
case RankingInfo.RankingType.PCri:
case RankingInfo.RankingType.MCriR:
case RankingInfo.RankingType.MCri:
case RankingInfo.RankingType.PRed:
case RankingInfo.RankingType.MRed:
labelItem.m_txtValue.text = $"{(float)rankingInfo.Value:p2}";
break;
default:
break;
}
}
}
await ETTask.CompletedTask;
}
public void Destroy()
{
}
}
}