diff options
author | uzvkl <dennis.kobert@student.kit.edu> | 2019-06-11 23:05:52 +0200 |
---|---|---|
committer | uzvkl <dennis.kobert@student.kit.edu> | 2019-06-11 23:05:52 +0200 |
commit | e6181c24124d97f2fbc932b8a68311e625463156 (patch) | |
tree | c1f097c344ca266b7941c9668590b0fd35c7870a /dsa/DSALib/DSA_Game/Save/Session.cs | |
parent | 2490ad5d31fe2ac778ff9303776f0e91f47a2862 (diff) |
Move dsa related stuff to subfolder
Diffstat (limited to 'dsa/DSALib/DSA_Game/Save/Session.cs')
-rw-r--r-- | dsa/DSALib/DSA_Game/Save/Session.cs | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/dsa/DSALib/DSA_Game/Save/Session.cs b/dsa/DSALib/DSA_Game/Save/Session.cs new file mode 100644 index 0000000..62aa8f6 --- /dev/null +++ b/dsa/DSALib/DSA_Game/Save/Session.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.IO; +using DSALib.DSA_Game.Characters; +using Newtonsoft.Json; + +namespace DSALib.DSA_Game.Save +{ + public class Session + { + public static string DirectoryPath { get; set; } = Dsa.rootPath + @"sessions"; + + public Dictionary<string, string> Relation { get; set; } = + new Dictionary<string, string>(); // dictionary to match the char + + public List<SaveChar> Chars { get; set; } = new List<SaveChar>(); // list of all characters + + public string SessionName { get; set; } + + public static Session Load(string path) + { + try + { + return + JsonConvert.DeserializeObject<Session>( + 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 |