private void SetMassVolume()
{
if (StockItem == null)
{
Mass = null;
Volume = null;
}
else
{
if (StockItem.TypeId == SpaceEngineersTypes.Ore ||
StockItem.TypeId == SpaceEngineersTypes.Ingot)
{
IsDecimal = true;
IsUnique = IsInt = false;
if (DecimalUnits.HasValue)
{
Mass = (double)DecimalUnits * StockItem.Mass;
Volume = (double)DecimalUnits * StockItem.Volume;
}
else
{
Mass = null;
Volume = null;
}
}
else if (StockItem.TypeId == SpaceEngineersTypes.Component ||
StockItem.TypeId == SpaceEngineersTypes.AmmoMagazine)
{
IsInt = true;
IsUnique = IsDecimal = false;
if (Units.HasValue)
{
Mass = Units.Value * StockItem.Mass;
Volume = Units.Value * StockItem.Volume;
}
else
{
Mass = null;
Volume = null;
}
}
else if (StockItem.TypeId == SpaceEngineersTypes.PhysicalGunObject)
{
IsUnique = true;
IsInt = IsDecimal = false;
Mass = UniqueUnits * StockItem.Mass;
Volume = UniqueUnits * StockItem.Volume;
}
else if (StockItem.TypeId == SpaceEngineersTypes.OxygenContainerObject)
{
IsUnique = true;
IsInt = IsDecimal = false;
Mass = UniqueUnits * StockItem.Mass;
Volume = UniqueUnits * StockItem.Volume;
}
else
{
// Assume any new objects are whole objects that cannot be stacked (for safety).
IsUnique = true;
IsInt = IsDecimal = false;
Mass = UniqueUnits * StockItem.Mass;
Volume = UniqueUnits * StockItem.Volume;
}
}
}