/* [JsonConstructor] * public CAconfig(bool joinquitfilter, bool deathmsgfilter, bool joinquitdefault, bool deathmsgdefault) * { * this.EnableJoinQuitFilter = joinquitfilter; * this.EnableDeathMsgFilter = deathmsgfilter; * this.FilterDeathMsgByDefault = deathmsgdefault; * this.FilterJoinQuitByDefault = joinquitdefault; * }*/ // ------------------------------- Static save/load methods ----------------------- public static CAconfig Load() { var savepath = Path.Combine(CAMain.Savepath, "ChatAssistant.conf"); CAconfig returnconf = null; try { if (!File.Exists(savepath)) { returnconf = new CAconfig(); CAconfig.Save(returnconf); } else { using (var stream = new FileStream(savepath, FileMode.Open, FileAccess.Read, FileShare.Read)) { using (var sr = new StreamReader(stream)) { returnconf = JsonConvert.DeserializeObject <CAconfig>(sr.ReadToEnd()); } stream.Close(); } } } catch (Exception ex) { TShockAPI.Log.ConsoleError(ex.ToString()); return(new CAconfig()); } if (returnconf == null) { returnconf = new CAconfig(); } return(returnconf); }