public void DumpPartToLog(LogMsg log, String prefix, List<PartSim> allParts = null)
{
if (log == null)
return;
log.Append(prefix);
log.Append(name);
log.Append(":[id = ", partId, ", decouple = ", decoupledInStage);
log.Append(", invstage = ", inverseStage);
//log.Append(", vesselName = '", vesselName, "'");
//log.Append(", vesselType = ", SimManager.GetVesselTypeString(vesselType));
//log.Append(", initialVesselName = '", initialVesselName, "'");
log.Append(", isNoPhys = ", isNoPhysics);
log.buf.AppendFormat(", baseMass = {0}", baseMass);
log.buf.AppendFormat(", baseMassForCoM = {0}", baseMassForCoM);
log.Append(", fuelCF = {0}", fuelCrossFeed);
log.Append(", noCFNKey = '{0}'", noCrossFeedNodeKey);
log.Append(", isSep = {0}", isSepratron);
for (int i = 0; i < resources.Types.Count; i++)
{
int type = resources.Types[i];
log.buf.AppendFormat(", {0} = {1:g6}", ResourceContainer.GetResourceName(type), resources[type]);
}
if (attachNodes.Count > 0)
{
log.Append(", attached = <");
attachNodes[0].DumpToLog(log);
for (int i = 1; i < attachNodes.Count; i++)
{
log.Append(", ");
attachNodes[i].DumpToLog(log);
}
log.Append(">");
}
if (surfaceMountFuelTargets.Count > 0)
{
log.Append(", surface = <");
log.Append(surfaceMountFuelTargets[0].name, ":", surfaceMountFuelTargets[0].partId);
for (int i = 1; i < surfaceMountFuelTargets.Count; i++)
{
log.Append(", ", surfaceMountFuelTargets[i].name, ":", surfaceMountFuelTargets[i].partId);
}
log.Append(">");
}
// Add more info here
log.AppendLine("]");
if (allParts != null)
{
String newPrefix = prefix + " ";
for (int i = 0; i < allParts.Count; i++)
{
PartSim partSim = allParts[i];
if (partSim.parent == this)
partSim.DumpPartToLog(log, newPrefix, allParts);
}
}
}