Example #1
0
        private static void SaveGame(string seed, string filename, string subfolder = "", bool printVessels = true)
        {
            // Expand subfolder
            if (subfolder == "")
            {
                subfolder = HighLogic.SaveFolder;
            }
            else
            {
                subfolder = Path.Combine(HighLogic.SaveFolder, subfolder);
            }
            // Make sure everyone is on the same page
            Game savedGame = HighLogic.CurrentGame.Updated();

            GamePersistence.SaveGame(savedGame, filename, subfolder, SaveMode.OVERWRITE);
            // Log all vessels in the current seed
            if (printVessels)
            {
                Debugger.Log("Vessels in save " + seed + ":");
            }
            foreach (ProtoVessel v in HighLogic.CurrentGame.flightState.protoVessels)
            {
                if (printVessels)
                {
                    Debugger.Log(v.vesselName);
                }
                // All this does is makes sure all the loaded vessels are internally set to the new seed
                VesselManager.LoadPersistentVessel(seed, v);
            }
            ForceTrackingStationUpdate();
        }