Skip to content

Commit abf41eb

Browse files
committed
Change: Add pantograph creation in train.xml
1 parent e20c36d commit abf41eb

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

source/Plugins/Train.OpenBve/Train/XML/TrainXmlParser.CarNode.cs

+33
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
using TrainManager.BrakeSystems;
1414
using TrainManager.Car;
1515
using TrainManager.Car.Systems;
16+
using TrainManager.Car.Systems.OpenBveApi.Trains;
1617
using TrainManager.Cargo;
1718
using TrainManager.Handles;
1819
using TrainManager.Power;
@@ -718,6 +719,38 @@ private void ParseCarNode(XmlNode Node, string fileName, int Car, ref TrainBase
718719
}
719720
}
720721
break;
722+
case "pantograph":
723+
bool collectsPower = true;
724+
double location = 0;
725+
if (c.ChildNodes.OfType<XmlElement>().Any())
726+
{
727+
foreach (XmlNode cc in c.ChildNodes)
728+
{
729+
switch (cc.Name.ToLowerInvariant())
730+
{
731+
case "fitted":
732+
int cp;
733+
NumberFormats.TryParseIntVb6(c.InnerText, out cp);
734+
if (cp == 1 || c.InnerText.ToLowerInvariant() == "true")
735+
{
736+
collectsPower = true;
737+
}
738+
else
739+
{
740+
collectsPower = false;
741+
}
742+
break;
743+
case "location":
744+
if (!NumberFormats.TryParseDoubleVb6(cc.InnerText, out location))
745+
{
746+
Plugin.currentHost.AddMessage(MessageType.Warning, false, "Invalid pantograph location defined for Car " + Car + " in XML file " + fileName);
747+
}
748+
break;
749+
}
750+
}
751+
}
752+
Train.Cars[Car].Pantograph = new Pantograph(Plugin.currentHost, location, collectsPower);
753+
break;
721754
}
722755
}
723756
/*

0 commit comments

Comments
 (0)