TouchyTickets/TouchyTickets/Options.cs

35 lines
1 KiB
C#
Raw Normal View History

2020-06-16 23:17:18 +02:00
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<Options>(stream);
} else {
Instance = new Options();
}
}
private static FileInfo GetOptionsFile(bool create) {
return new FileInfo(Path.Combine(SaveHandler.GetGameDirectory(create).FullName, "Options"));
}
}
}