// *********************************************************************** // Assembly : Game // Author : Kimch // Created : 2021-01-03 // Description : // Last Modified By : // Last Modified On : // *********************************************************************** // // // *********************************************************************** using TMPro; using UnityEngine.UI; namespace G.UI { /// /// /// 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(avatarId); if (chaAvatar != null) IconProxy.Instance.SetSprite(_imgHead, chaAvatar.icon); } else _imgHead.overrideSprite = null; } } #endregion #region Unity /// /// /// private void Awake() { SetViewData(); } #endregion } }