public override void OnLoad(ConfigNode node) { // deserialize data DB.Load(node); // initialize everything just once if (!initialized) { // add supply resources to pods Profile.SetupPods(); // initialize subsystems Cache.Init(); ResourceCache.Init(); Radiation.Init(); Science.Init(); LineRenderer.Init(); ParticleRenderer.Init(); Highlighter.Init(); UI.Init(); // prepare storm data foreach (CelestialBody body in FlightGlobals.Bodies) { if (Storm.Skip_Body(body)) { continue; } Storm_Data sd = new Storm_Data { body = body }; storm_bodies.Add(sd); } // various tweaks to the part icons in the editor Misc.TweakPartIcons(); // setup callbacks callbacks = new Callbacks(); // everything was initialized initialized = true; } // detect if this is a different savegame if (DB.uid != savegame_uid) { // clear caches Cache.Clear(); ResourceCache.Clear(); // sync main window pos from db UI.Sync(); // remember savegame id savegame_uid = DB.uid; } // force CommNet OFF or ON depending of signal Features.KCommNet = HighLogic.fetch.currentGame.Parameters.Difficulty.EnableCommNet &= !Features.Signal; }