private void LoadPlansFromNode(ConfigNode node)
{
foreach (ConfigNode listNode in node.nodes)
{
Deb.Log("LoadPlansFromNode: list node {0}", listNode.name);
var planet_name = listNode.name;
List<FlightPlan> fplist = null;
if (flightPlansDict.TryGetValue(planet_name, out fplist))
{
Deb.Log("LoadPlansFromNode: fplist for planet {0} already exists.", planet_name);
}
else
{
Deb.Log("LoadPlansFromNode: create fplist for planet {0}.", planet_name);
fplist = new List<FlightPlan>();
flightPlansDict[planet_name] = fplist;
}
foreach (ConfigNode fpNode in listNode.nodes)
{
FlightPlan fp = new FlightPlan();
fp.SetFromConfigNode(fpNode);
int existing_index = fplist.FindIndex(afp => (fp.name == afp.name));
if (existing_index < 0)
{
Deb.Log("LoadPlansFromNode: new flight plan named {0}.", fp.name);
fplist.Add(fp);
}
else
{
Deb.Log("LoadPlansFromNode: existing flight plan named {0} will be overwritten.", fp.name);
fplist[existing_index] = fp;
}
}
}
}