Files
2026-02-21 16:45:37 +08:00

63 lines
1.5 KiB
C#

using UIWidgets;
using UnityEngine;
using UnityEngine.UI;
namespace UIWidgetsSamples
{
public class SteamSpyComponent : ListViewItem, IResizableItem
{
[SerializeField]
public Text Name;
[SerializeField]
public Text ScoreRank;
[SerializeField]
public Text Owners;
[SerializeField]
public Text Players;
[SerializeField]
public Text PlayersIn2Week;
[SerializeField]
public Text TimeIn2Week;
[SerializeField]
public Text TooltipText;
public GameObject[] ObjectsToResize
{
get
{
return new GameObject[6]
{
Name.transform.parent.gameObject,
ScoreRank.transform.parent.gameObject,
Owners.transform.parent.gameObject,
Players.transform.parent.gameObject,
PlayersIn2Week.transform.parent.gameObject,
TimeIn2Week.transform.parent.gameObject
};
}
}
public void SetData(SteamSpyItem item)
{
Name.text = item.Name;
TooltipText.text = item.Name;
ScoreRank.text = ((item.ScoreRank != -1) ? item.ScoreRank.ToString() : string.Empty);
Owners.text = item.Owners.ToString("N0") + "\n±" + item.OwnersVariance.ToString("N0");
Players.text = item.Players.ToString("N0") + "\n±" + item.PlayersVariance.ToString("N0");
PlayersIn2Week.text = item.PlayersIn2Week.ToString("N0") + "\n±" + item.PlayersIn2WeekVariance.ToString("N0");
TimeIn2Week.text = Minutes2String(item.AverageTimeIn2Weeks) + "\n(" + Minutes2String(item.MedianTimeIn2Weeks) + ")";
}
private string Minutes2String(int minutes)
{
return string.Format("{0:00}:{1:00}", minutes / 60, minutes % 60);
}
}
}