private void write_vessel_settings()
{
//update vessel_settings.cfg here also
//get all nodes from vessel_settings_node that are not the active vessel and put them into a list all_but_curr
//set vessel_settings_node = all_but_curr
//create a new node for the active vessel with its current settings
//add new node to vessel_settings_node
//save vessel_settings_node to .cfg
//if (debugging) Debug.Log("[CHATR] writing vessel_settings node to disk");
ConfigNode all_but_curr_vessel = new ConfigNode();
//if (debugging) Debug.Log("[CHATR] active vessel.id = " + vessel.id.ToString());
foreach (ConfigNode cn in vessel_settings_node.nodes)
{
//
if (cn.HasValue("vessel_id"))
{
string val = cn.GetValue("vessel_id");
//if (debugging) Debug.Log("[CHATR] node vessel_id = " + val);
if (val != vessel.id.ToString())
{
//found an id that is not the current vessel
//add it to the list
all_but_curr_vessel.AddNode(cn);
//if (debugging) Debug.Log("[CHATR] write_vessel_settings() :: node vessel_id != vessel.id :: node vessel added to all_but_curr_vessel");
}
//else
//{
// all_but_prev_vessel.AddNode(cn);
//}
}
}
//foreach (ConfigNode cn in vessel_settings_node.nodes)
//{
//vessel_settings_node.RemoveNodes("");
// if (debugging) Debug.Log("[CHATR] old nodes removed");
//}
vessel_settings_node = all_but_curr_vessel;
//if (debugging) Debug.Log("[CHATR] write_vessel_settings() :: vessel_settings node = all_but_curr_vessel");
new_vessel_node(vessel);
//if (debugging) Debug.Log("[CHATR] write_vessel_settings() :: new node created using vessel and added to vessel_settings node");
//save_vessel_settings_node();
vessel_settings_node.Save(settings_path + "vessels.cfg");
//if (debugging) Debug.Log("[CHATR] write_vessel_settings() END :: vessel_settings node saved to vessel_settings.cfg");
//end func
//if (debugging) Debug.Log("[CHATR] vessel_settings node saved to disk :: vessel node count = " + vessel_settings_node.nodes.Count);
}