From ba1f440d0762ab77cd3f08734043df7db5b4329e Mon Sep 17 00:00:00 2001 From: TrueDoctor Date: Fri, 15 Jun 2018 21:58:34 +0200 Subject: implemented session saves --- DiscoBot/DSA_Game/Save/Properties.cs | 5 +--- DiscoBot/DSA_Game/Save/Session.cs | 50 ++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 4 deletions(-) create mode 100644 DiscoBot/DSA_Game/Save/Session.cs (limited to 'DiscoBot/DSA_Game/Save') diff --git a/DiscoBot/DSA_Game/Save/Properties.cs b/DiscoBot/DSA_Game/Save/Properties.cs index 5d99a56..fe2f798 100644 --- a/DiscoBot/DSA_Game/Save/Properties.cs +++ b/DiscoBot/DSA_Game/Save/Properties.cs @@ -34,10 +34,7 @@ namespace DiscoBot.DSA_Game.Save } public void Serialize(string path = @"..\..\Properties.json") - {/* - var stream = new StreamWriter(path); // Load properties file - var reader = new JsonTextWriter(stream); // create stream reader*/ - + { try { File.WriteAllText(path, JsonConvert.SerializeObject(this, Formatting.Indented)); // Deserialize Data and create CommandInfo Struct diff --git a/DiscoBot/DSA_Game/Save/Session.cs b/DiscoBot/DSA_Game/Save/Session.cs new file mode 100644 index 0000000..b0a34a5 --- /dev/null +++ b/DiscoBot/DSA_Game/Save/Session.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DiscoBot.DSA_Game.Save +{ + using System.IO; + + using DiscoBot.DSA_Game.Characters; + + using Discord.Commands; + + using Newtonsoft.Json; + + public class Session + { + public ICommandContext GeneralContext { get; set; } + + public Dictionary Relation { get; set; } = new Dictionary(); // dictionary to match the char + + public List Chars { get; set; } = new List(); // list of all characters + + public static Session Load(string path = @"..\..\session.json") + { + try + { + return JsonConvert.DeserializeObject(File.ReadAllText(path)); // Deserialize Data and create Session Object + } + catch (Exception e) + { + // ignored + return null; + } + } + + public void Save(string path = @"..\..\session.json") + { + try + { + File.WriteAllText(path, JsonConvert.SerializeObject(this, Formatting.Indented)); // Deserialize Data and create CommandInfo Struct + } + catch (Exception e) + { + // ignored + } + } + } +} -- cgit v1.2.3-54-g00ecf