using System.IO; using System.Runtime.Serialization; using Newtonsoft.Json; namespace TouchyTickets { [DataContract] public class Options { public static Options Instance { get; private set; } [DataMember] public int RainingTicketLimit = 300; public static void Save() { var file = GetOptionsFile(true); using (var stream = new JsonTextWriter(file.CreateText())) SaveHandler.Serializer.Serialize(stream, Instance); } public static void Load() { var file = GetOptionsFile(false); if (file.Exists) { using (var stream = new JsonTextReader(file.OpenText())) Instance = SaveHandler.Serializer.Deserialize(stream); } else { Instance = new Options(); } } private static FileInfo GetOptionsFile(bool create) { return new FileInfo(Path.Combine(SaveHandler.GetGameDirectory(create).FullName, "Options")); } } }