/// <summary> /// this saves the pointer references to thier configfiles. /// </summary> /// <param name="pathname"></param> internal static void SaveInstanceByCfg(string pathname) { if (string.IsNullOrEmpty(pathname)) { Log.UserWarning("Trying to save a static insance with null configpath. "); return; } Log.Debug("Saving File: " + pathname); StaticInstance[] allInstances = StaticDatabase.allStaticInstances.Where(instance => instance.configPath == pathname).ToArray(); StaticInstance firstInstance = allInstances.First(); ConfigNode instanceConfig = null; ConfigNode staticNode = new ConfigNode("STATIC"); if (firstInstance.configUrl == null) //this are newly spawned instances { instanceConfig = new ConfigNode("STATIC"); instanceConfig.AddValue("pointername", firstInstance.model.name); } else { //instanceConfig = GameDatabase.Instance.GetConfigNode(firstInstance.configUrl.url); //instanceConfig.RemoveNodes("Instances"); //instanceConfig.RemoveValues(); instanceConfig = new ConfigNode("STATIC"); instanceConfig.AddValue("pointername", firstInstance.model.name); } staticNode.AddNode(instanceConfig); foreach (StaticInstance instance in allInstances) { ConfigNode inst = new ConfigNode("Instances"); ConfigParser.WriteInstanceConfig(instance, inst); instanceConfig.nodes.Add(inst); } staticNode.Save(KSPUtil.ApplicationRootPath + "GameData/" + pathname, "Generated by Kerbal Konstructs"); }
internal void SaveConfig() { ConfigParser.SaveInstanceByCfg(configPath); }