2025-05-18 01:04:31 +08:00

93 lines
2.1 KiB
C#

// ***********************************************************************
// Assembly : Game
// Author : Kimch
// Created : 2021-01-03
// Description :
// Last Modified By :
// Last Modified On :
// ***********************************************************************
// <copyright file= "RankingWidget" company="Kunpo"></copyright>
// <summary></summary>
// ***********************************************************************
using TMPro;
using UnityEngine.UI;
namespace G.UI
{
/// <summary>
///
/// </summary>
public class RankingWidget : KUIWidget
{
#region Field
#pragma warning disable CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
[KUIFlag]
KUIImage _imgRanking;
[KUIFlag]
TextMeshProUGUI _tmpRanking;
[KUIFlag]
TextMeshProUGUI _tmpValue;
[KUIFlag]
Image _imgHead;
[KUIFlag]
TextMeshProUGUI _tmpName;
[KUIFlag]
TextMeshProUGUI _tmpTitle;
#pragma warning restore CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
#endregion
#region Method
public override void Refresh()
{
if (this.data is RankingProxy.RankingInfo rankingInfo)
{
if (rankingInfo.ranking <= 3)
{
_tmpRanking.gameObject.SetActive(false);
_imgRanking.gameObject.SetActive(true);
_imgRanking.ShowSprite(rankingInfo.ranking - 1);
}
else
{
_imgRanking.gameObject.SetActive(false);
_tmpRanking.gameObject.SetActive(true);
if (rankingInfo.ranking < 100)
_tmpRanking.text = rankingInfo.ranking.ToString();
else
_tmpRanking.text = "100+";
}
_tmpValue.text = rankingInfo.value.ToString();
_tmpName.text = rankingInfo.name;
_tmpTitle.text = rankingInfo.signature;
if (int.TryParse(rankingInfo.avatar, out var avatarId))
{
var chaAvatar = ItemProxy.Instance.GetStaticItem<ItemChaAvatar>(avatarId);
if (chaAvatar != null)
IconProxy.Instance.SetSprite(_imgHead, chaAvatar.icon);
}
else
_imgHead.overrideSprite = null;
}
}
#endregion
#region Unity
/// <summary>
///
/// </summary>
private void Awake()
{
SetViewData();
}
#endregion
}
}