void UpdatePersistentData() { Log.Info("UpdatePersistentData, bodyName: " + bodyName); string size = "Size" + balloonSize.ToString(); if (Statics.balloonSizes.ContainsKey(size)) { var sizeDict = Statics.balloonSizes[size].balloonInfoDict; string key = BalloonInfo.MakeKey(size, payload, bodyName); if (sizeDict.ContainsKey(key)) { var binfo = sizeDict[key]; // if (binfo.recommendedBody != recommendedBody) SetValues(binfo); } else { Log.Info("balloonSizes, key: " + key + ", not found"); } } else { Log.Info("balloonSizes, size: " + size + ", not found"); } }
public static void LoadBalloonInfo() { string filename = KSPUtil.ApplicationRootPath + "/GameData/KerBalloons/PluginData/balloonSpecs.csv"; filename = filename.Replace('/', Path.DirectorySeparatorChar); var binfolist = File.ReadAllLines(filename) .Skip(2) .Select(v => BalloonInfo.FromCsv(v)) .ToList(); Log.Info("binfolist.Count: " + binfolist.Count()); foreach (var b in binfolist) { if (!balloonSizes.ContainsKey(b.size)) { balloonSizes.Add(b.size, new BalloonSize(b.size)); } balloonSizes[b.size].balloonInfoDict.Add(BalloonInfo.MakeKey(b.size, b.payload, b.recommendedBody), b); } Log.Info("balloonSizes.Count: " + balloonSizes.Count()); }