50 lines
1.3 KiB
C#
50 lines
1.3 KiB
C#
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<string, int> configuration = new Dictionary<string, int>();
|
|
|
|
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<string, int>)JsonConvert.DeserializeObject(input, typeof(Dictionary<string, int>));
|
|
}
|
|
}
|
|
|
|
public abstract void InitDevValues();
|
|
|
|
public virtual void SaveSettings()
|
|
{
|
|
string ser = JsonConvert.SerializeObject(configuration);
|
|
File.WriteAllText(modPath, ser);
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
SaveSettings();
|
|
}
|
|
}
|
|
}
|