예제 #1
0
        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");
            }
        }
예제 #2
0
        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());
        }