天津23维预案
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

104 lines
2.2 KiB

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using System.Collections;
using UIWidgets;
namespace UIWidgetsSamples {
[System.Serializable]
public class CountryFlag {
[SerializeField]
public string Country;
[SerializeField]
public Sprite Flag;
}
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;
[SerializeField]
[HideInInspector]
public Image Flag;
[SerializeField]
[HideInInspector]
public CountryFlag[] Flags;
//SteamSpyItem Item;
/// <summary>
/// Gets the objects to resize.
/// </summary>
/// <value>The objects to resize.</value>
public GameObject[] ObjectsToResize {
get {
return new GameObject[] {
Name.transform.parent.gameObject,
//Flag.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)
{
//Item = item;
Name.text = item.Name;
TooltipText.text = item.Name;
ScoreRank.text = (item.ScoreRank==-1) ? string.Empty : item.ScoreRank.ToString();
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) + ")";
//Flag.sprite = GetFlag("uk");
}
Sprite GetFlag(string country)
{
foreach (var flag in Flags)
{
if (flag.Country==country)
{
return flag.Flag;
}
}
return null;
}
string Minutes2String(int minutes)
{
return string.Format("{0:00}:{1:00}", minutes / 60, minutes % 60);
}
}
}