summaryrefslogtreecommitdiff
path: root/DiscoBot/DSA_Game/Save
diff options
context:
space:
mode:
authorTrueDoctor <d-kobert@web.de>2018-06-15 21:58:34 +0200
committerTrueDoctor <d-kobert@web.de>2018-06-15 21:58:34 +0200
commitba1f440d0762ab77cd3f08734043df7db5b4329e (patch)
tree23d8c796ce19e6475ba4a0673ec24daa35384442 /DiscoBot/DSA_Game/Save
parent2bfbc16288454790f4c4cfa8ecace3518ee30059 (diff)
implemented session saves
Diffstat (limited to 'DiscoBot/DSA_Game/Save')
-rw-r--r--DiscoBot/DSA_Game/Save/Properties.cs5
-rw-r--r--DiscoBot/DSA_Game/Save/Session.cs50
2 files changed, 51 insertions, 4 deletions
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<string, string> Relation { get; set; } = new Dictionary<string, string>(); // dictionary to match the char
+
+ public List<ICharacter> Chars { get; set; } = new List<ICharacter>(); // list of all characters
+
+ public static Session Load(string path = @"..\..\session.json")
+ {
+ try
+ {
+ return JsonConvert.DeserializeObject<Session>(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
+ }
+ }
+ }
+}