SSTUTools.ModelGUISelection.ModelGUISelection C# (CSharp) Method

ModelGUISelection() public method

public ModelGUISelection ( SSTUTools.ModelData data, float size ) : System
data SSTUTools.ModelData
size float
return System
        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);
            }
        }