diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs index 87fdde345f47aa5dfca1c115617a0aa4ebf98ef1..fb3a8be89a1e7b24584fc390e86c7d889520c6ab 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs @@ -46,6 +46,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON { public class JSONGearboxDataV6 : JSONGearboxDataV5 { + private IList<ITransmissionInputData> resultGears; + public JSONGearboxDataV6(JObject data, string filename, bool tolerateMissing = false) : base(data, filename, tolerateMissing) {} @@ -54,12 +56,14 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON public override IList<ITransmissionInputData> Gears { get { - var resultGears = new List<ITransmissionInputData>(); - var gears = Body.GetEx(JsonKeys.Gearbox_Gears); - for (var i = 1; i < gears.Count(); i++) { - var gear = gears[i]; + if (resultGears == null) { + resultGears = new List<ITransmissionInputData>(); + var gears = Body.GetEx(JsonKeys.Gearbox_Gears); + for (var i = 1; i < gears.Count(); i++) { + var gear = gears[i]; - resultGears.Add(CreateGear(i, gear)); + resultGears.Add(CreateGear(i, gear)); + } } return resultGears; }