From 2ab4051c6fe720dc47e99b0c305a0d779ee02d51 Mon Sep 17 00:00:00 2001 From: Dennis Kobert Date: Sun, 19 May 2019 17:58:42 +0200 Subject: Moved Gamelogic to DSALib --- DSALib/DSA_Game/Save/Session.cs | 51 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 DSALib/DSA_Game/Save/Session.cs (limited to 'DSALib/DSA_Game/Save/Session.cs') diff --git a/DSALib/DSA_Game/Save/Session.cs b/DSALib/DSA_Game/Save/Session.cs new file mode 100644 index 0000000..6944fb1 --- /dev/null +++ b/DSALib/DSA_Game/Save/Session.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.IO; +using DSACore.DSA_Game.Characters; +using Newtonsoft.Json; + +namespace DSACore.DSA_Game.Save +{ + public class Session + { + public static string DirectoryPath { get; set; } = Dsa.rootPath + @"sessions"; + + public Dictionary Relation { get; set; } = + new Dictionary(); // dictionary to match the char + + public List Chars { get; set; } = new List(); // list of all characters + + public string SessionName { get; set; } + + public static Session Load(string path) + { + try + { + return + JsonConvert.DeserializeObject( + File.ReadAllText(path)); // Deserialize Data and create Session Object + } + catch (Exception e) + { + // ignored + Console.WriteLine($"Laden von Save-File {path} fehlgeschlagen." + e); + return null; + } + } + + public void Save(string path) + { + try + { + File.WriteAllText(path, + JsonConvert.SerializeObject(this, + Formatting.Indented)); // Deserialize Data and create CommandInfo Struct + } + catch (Exception e) + { + Console.WriteLine($"Speichern von Save-File {path} fehlgeschlagen.\n" + e); + // ignored + } + } + } +} \ No newline at end of file -- cgit v1.2.3-54-g00ecf