public ModelGUISelection(ModelData data, float size)
{
modelName = data.name;
description = data.modelDefinition.title + " - " + data.modelDefinition.description;
float m = data.mass;
float c = data.cost;
float v = data.volume;
float scale = size / data.modelDefinition.diameter == 0 ? 1 : data.modelDefinition.diameter;
float pow = Mathf.Pow(scale, 3);
m *= pow;
c *= pow;
v *= pow;
string suffix;
suffix = m < 1 ? "kg" : m < 1000 ? "t" : "kt";
m = m < 1 ? m * 1000 : m < 1000 ? m : m * 0.001f;
mass = m.ToString("N1")+suffix;
suffix = c < 1000 ? "" : "k";
c = c > 1000 ? c * 0.001f : c;
cost = c.ToString("N1")+suffix;
suffix = v < 1 ? "l" : v < 1000 ? "kl" : "Ml";
v = v < 1 ? v * 1000 : v < 1000 ? v : v * 0.001f;
volume = v.ToString("N1")+suffix;
if (String.IsNullOrEmpty(data.modelDefinition.icon) || (texture = GameDatabase.Instance.GetTexture(data.modelDefinition.icon, false))==null)
{
//TODO do textures need to be destroyed when no longer in use? Can call unity asset-cleanup on GUI close?
texture = GameDatabase.Instance.GetTexture("Squad/PartList/SimpleIcons/RDicon_propulsionSystems", false);
}
}