/// <summary> /// Writes out all the data of the instance To a ConfigNode (+ the Facilities) /// </summary> /// <param name="instance"></param> /// <param name="cfgNode"></param> internal static void WriteInstanceConfig(StaticInstance instance, ConfigNode cfgNode) { foreach (var instanceSetting in ConfigUtil.instanceFields) { if (instanceSetting.Value.GetValue(instance) == null) { continue; } if (instanceSetting.Key == "FacilityType") { continue; } if (instanceSetting.Key == "GrasColor" && (Color)instanceSetting.Value.GetValue(instance) == Color.clear) { continue; } ConfigUtil.Write2CfgNode(instance, instanceSetting.Value, cfgNode); } if (instance.hasFacilities) { for (int i = 0; i < instance.myFacilities.Count; i++) { ConfigNode facNode = cfgNode.AddNode("Facility"); instance.myFacilities[i].WriteConfig(facNode); } } if (instance.hasLauchSites) { ConfigNode lsNode = cfgNode.AddNode("LaunchSite"); LaunchSiteParser.WriteConfig(instance.launchSite, lsNode); } }
/// <summary> /// Writer for MapDecalObjects /// </summary> /// <param name="mapDecalInstance"></param> /// <param name="cfgNode"></param> internal static void WriteMapDecalConfig(MapDecalInstance mapDecalInstance, ConfigNode cfgNode) { foreach (var mapDecalSetting in ConfigUtil.mapDecalFields) { if (mapDecalSetting.Value.GetValue(mapDecalInstance) != null) { ConfigUtil.Write2CfgNode(mapDecalInstance, mapDecalSetting.Value, cfgNode); } } }
/// <summary> /// Writer for MapDecalObjects /// </summary> /// <param name="mapDecalInstance"></param> /// <param name="cfgNode"></param> internal void WriteConfig(ConfigNode cfgNode) { foreach (var groupField in ConfigUtil.groupCenterFields.Values) { if ((groupField.GetValue(this) == null) || (groupField.Name == "RadialPosition") || (groupField.Name == "RotationAngle")) { continue; } ConfigUtil.Write2CfgNode(this, groupField, cfgNode); } }
/// <summary> /// Writer for MapDecalObjects /// </summary> /// <param name="mapDecalInstance"></param> /// <param name="cfgNode"></param> private void WriteConfig(ConfigNode cfgNode) { foreach (var groupField in ConfigUtil.groupCenterFields.Values) { if (groupField.GetValue(this) == null) { continue; } ConfigUtil.Write2CfgNode(this, groupField, cfgNode); } }
/// <summary> /// Writes out all the data of the instance To a ConfigNode (+ the Facilities) /// </summary> /// <param name="instance"></param> /// <param name="cfgNode"></param> internal static void WriteInstanceConfig(StaticInstance instance, ConfigNode cfgNode) { foreach (var instanceSetting in ConfigUtil.instanceFields) { if (instanceSetting.Value.GetValue(instance) == null) { continue; } if (instanceSetting.Key == "FacilityType") { continue; } // No Longer save Legacy Values if (instanceSetting.Key == "RadialPosition" || instanceSetting.Key == "RadiusOffset" || instanceSetting.Key == "RotationAngle" || instanceSetting.Key == "RefLatitude" || instanceSetting.Key == "RefLongitude" || instanceSetting.Key == "IsRelativeToTerrain") { continue; } if (instanceSetting.Key == "GrasColor" && (Color)instanceSetting.Value.GetValue(instance) == Color.clear) { continue; } ConfigUtil.Write2CfgNode(instance, instanceSetting.Value, cfgNode); } if (instance.hasFacilities) { for (int i = 0; i < instance.myFacilities.Count; i++) { ConfigNode facNode = cfgNode.AddNode("Facility"); instance.myFacilities[i].WriteConfig(facNode); } } if (instance.hasLauchSites) { ConfigNode lsNode = cfgNode.AddNode("LaunchSite"); LaunchSiteParser.WriteConfig(instance.launchSite, lsNode); } }
internal static void WriteConfig(KKLaunchSite site, ConfigNode cfgNode) { if (!initialized) { InitTypes(); } // Close everything before saving. site.SetClosed(); cfgNode.SetValue("FacilityType", site.GetType().Name, true); foreach (var field in launchSiteFields) { if (Attribute.IsDefined(field.Value, typeof(CFGSetting))) { if (field.Value.GetValue(site) == null) { continue; } ConfigUtil.Write2CfgNode(site, field.Value, cfgNode); } } foreach (var field in launchSiteProperties) { if (field.Key == "OpenCloseState") { cfgNode.SetValue("OpenCloseState", site.defaultState, true); continue; } if (Attribute.IsDefined(field.Value, typeof(CFGSetting))) { ConfigUtil.Write2CfgNode(site, field.Value, cfgNode); } } }
internal static void SaveCareerConfig(KKLaunchSite site, ConfigNode cfgNode) { if (!initialized) { InitTypes(); } foreach (var field in launchSiteFields) { if (Attribute.IsDefined(field.Value, typeof(CareerSetting))) { ConfigUtil.Write2CfgNode(site, field.Value, cfgNode); } } foreach (var field in launchSiteProperties) { if (Attribute.IsDefined(field.Value, typeof(CareerSetting))) { ConfigUtil.Write2CfgNode(site, field.Value, cfgNode); } } }
/// <summary> /// Writes out all the data of the instance To a ConfigNode (+ the Facilities) /// </summary> /// <param name="instance"></param> /// <param name="cfgNode"></param> internal static void WriteInstanceConfig(StaticInstance instance, ConfigNode cfgNode) { foreach (var instanceSetting in ConfigUtil.instanceFields) { if (instanceSetting.Value.GetValue(instance) == null) { continue; } if (instanceSetting.Key == "FacilityType") { continue; } // Remove legacy GrassColor values //if ((instanceSetting.Key == "GrasColor") || (instanceSetting.Key == "GrasTexture")) //{ // continue; //} // No Longer save Legacy Values if (instanceSetting.Key == "RadialPosition" || instanceSetting.Key == "RadiusOffset" || instanceSetting.Key == "RotationAngle" || instanceSetting.Key == "RefLatitude" || instanceSetting.Key == "RefLongitude" || instanceSetting.Key == "IsRelativeToTerrain") { continue; } ConfigUtil.Write2CfgNode(instance, instanceSetting.Value, cfgNode); } if (instance.hasFacilities) { for (int i = 0; i < instance.myFacilities.Count; i++) { ConfigNode facNode = cfgNode.AddNode("Facility"); instance.myFacilities[i].WriteConfig(facNode); } } if (instance.hasLauchSites) { ConfigNode lsNode = cfgNode.AddNode("LaunchSite"); LaunchSiteParser.WriteConfig(instance.launchSite, lsNode); } // save unsaved grassSettings before we write everything to the instance node if (instance.isSpawned) { GrassColor2[] grassArray = instance.mesh.GetComponents <GrassColor2>(); if (grassArray.Length > 0) { instance.grassColor2Configs.Clear(); foreach (GrassColor2 grassColor in grassArray) { instance.grassColor2Configs.Add(grassColor.GiveConfig()); } } } foreach (ConfigNode grassNode in instance.grassColor2Configs) { cfgNode.AddNode("GrassColor2", grassNode); } }