public static void SaveConfig(string[] args) { int i, j; int linecount = 0; string file = ""; //set culture System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture; System.Threading.Thread.CurrentThread.CurrentUICulture = System.Globalization.CultureInfo.InvariantCulture; //write cvars ConfVar[] cvars = Cvar.GetDefaultCvars(); for (i = 0; i < cvars.Length; i++) { //skip debug cvars if (cvars[i].Name.StartsWith("debug_")) { continue; } file += "cvar " + cvars[i].Name + " \"" + cvars[i].Text + "\"\n"; linecount++; } //write binding BindRegistration[] binds = BindManager.GetBinds(); for (j = 0; j < binds.Length; j++) { file += "bind " + binds[j].Keystring + " \"" + binds[j].Command + "\"\n"; linecount++; } //write config string foldername = Application.dataPath + "/configs/"; string filename = foldername + ((args != null && args.Length > 0) ? args[0] : "default") + ".conf"; Console.LogInfo("Writing " + filename + " with " + (i + j + 2) + " config lines."); if (!Directory.Exists(foldername)) { Directory.CreateDirectory(foldername); } try { File.WriteAllText(filename, file); } catch (IOException e) { Console.LogIOException("SaveConfig", e); } }