public double TimeToDrainResource(LogMsg log)
{
//if (log != null) log.AppendLine("TimeToDrainResource(", name, ":", partId, ")");
double time = double.MaxValue;
for (int i = 0; i < resourceDrains.Types.Count; ++i)
{
int type = resourceDrains.Types[i];
if (resourceDrains[type] > 0)
{
time = Math.Min(time, resources[type] / resourceDrains[type]);
//if (log != null) log.AppendLine("type = " + ResourceContainer.GetResourceName(type) + " amount = " + resources[type] + " rate = " + resourceDrains[type] + " time = " + time);
}
}
//if (time < double.MaxValue)
// if (log != null) log.Append("TimeToDrainResource(", name, ":", partId)
// .AppendLine(") = ", time);
return time;
}