using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SanSystem.Einstellungen { abstract class Settings : IDisposable { public Dictionary configuration = new Dictionary(); const string pfad = "Settings"; string modPath = ""; public Settings(string module) { string modname = string.Format("{0}.set", module); modPath = Path.Combine(pfad, modname); if (!Directory.Exists(pfad)) Directory.CreateDirectory(pfad); if(!File.Exists(modPath)) { InitDevValues(); SaveSettings(); } else { string input = File.ReadAllText(modPath); configuration = (Dictionary)JsonConvert.DeserializeObject(input, typeof(Dictionary)); } } public abstract void InitDevValues(); public virtual void SaveSettings() { string ser = JsonConvert.SerializeObject(configuration); File.WriteAllText(modPath, ser); } public void Dispose() { SaveSettings(); } } }