public static void Save(TileColor cfg = null, string file = null) { try { if (cfg == null) { cfg = MeCore.TileColor; } if (file == null) { ///for json file = MeCore.DataDirectory + "mtmcl_tile_color.json"; ///for xml //file = MeCore.BaseDirectory + "mtmcl_config.xml"; } //var fs = new FileStream(file, FileMode.Create); ///for xml /*var ser = new DataContractSerializer(typeof(Config)); ser.WriteObject(fs, cfg);*/ ///for json StringBuilder sbuild = new StringBuilder(); File.WriteAllText(file, JsonConvert.SerializeObject(cfg, Formatting.Indented, new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore }), Encoding.UTF8); //fs.Close(); } catch (Exception e) { Logger.log(e); //MessageBox.Show("cannot save config file"); } }
static MeCore() { version = Application.ResourceAssembly.FullName.Split('=')[1]; version = version.Substring(0, version.IndexOf(',')); Logger.log("----------" + DateTime.Now.ToLongTimeString() + " launch log----------"); Logger.log("MTMCL Ver." + version + " launching"); Logger.log("Appdata: " + Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)); if (File.Exists(Cfgfile)) { LoadConfig(Cfgfile); } else if (File.Exists(CfgfileOrigin)) { LoadConfig(CfgfileOrigin); } else { needGuide = true; Config = new Config(); Logger.log("loaded default config"); LoadLanguage(); LoadColor(); } if (Config.requiredGuide) { needGuide = true; } if (Config.Javaw == "autosearch") { Config.Javaw = Config.GetJavaDir() ?? "javaw.exe"; } if (Config.Javaxmx == -1) { Config.Javaxmx = Config.GetMemory() / 4; } LangManager.UseLanguage(Config.Lang); TileColor = Customize.TileColor.Load(DataDirectory + "\\mtmcl_tile_color.json"); #if DEBUG #else if (!Config.failUpdateLastTime) ReleaseCheck(); else Config.failUpdateLastTime = false; #endif }