summaryrefslogtreecommitdiff
path: root/dsa/DSALib/DSA_Game/Save
diff options
context:
space:
mode:
Diffstat (limited to 'dsa/DSALib/DSA_Game/Save')
-rw-r--r--dsa/DSALib/DSA_Game/Save/Properties.cs33
-rw-r--r--dsa/DSALib/DSA_Game/Save/SaveCommand.cs27
-rw-r--r--dsa/DSALib/DSA_Game/Save/Session.cs24
3 files changed, 28 insertions, 56 deletions
diff --git a/dsa/DSALib/DSA_Game/Save/Properties.cs b/dsa/DSALib/DSA_Game/Save/Properties.cs
index 2312af0..06628ed 100644
--- a/dsa/DSALib/DSA_Game/Save/Properties.cs
+++ b/dsa/DSALib/DSA_Game/Save/Properties.cs
@@ -6,33 +6,27 @@ using System.Linq;
using DSALib.Auxiliary;
using Newtonsoft.Json;
-namespace DSALib.DSA_Game.Save
-{
- public static class Properties
- {
+namespace DSALib.DSA_Game.Save {
+ public static class Properties {
public static Dictionary<string, object> objects;
- static Properties()
- {
+ static Properties() {
objects = new Dictionary<string, object>();
/*this.objects.Add("Sounds", new List<Sound>());
this.objects.Add("CommandInfos", new List<CommandInfo>());*/
}
- public static List<CommandInfo> CommandInfos
- {
+ public static List<CommandInfo> CommandInfos {
get => objects["CommandInfo"] as List<CommandInfo>;
set => objects["CommandInfo"] = value;
} // use Properties.Commandinfos to access the abstract Object array
- public static void Deserialize(string path = @"Properties")
- {
+ public static void Deserialize(string path = @"Properties") {
var files = Directory.GetFiles(path, "*.json");
foreach (var file in files)
- try
- {
+ try {
var name = file.Split('\\').Last().Split('.')[0].Replace('-', '.');
var data = File.ReadAllText(file);
var type = Type.GetType(name);
@@ -41,19 +35,15 @@ namespace DSALib.DSA_Game.Save
var o = JsonConvert.DeserializeObject(data, type);
objects.Add(name.Split('.').Last(), o);
}
- catch (Exception e)
- {
+ catch (Exception e) {
// ignored
Console.WriteLine($"Laden von Save-File {file} fehlgeschlagen." + e);
}
}
- public static void Serialize(string path = @"..\..\Properties\")
- {
- try
- {
- foreach (var o in objects)
- {
+ public static void Serialize(string path = @"..\..\Properties\") {
+ try {
+ foreach (var o in objects) {
var assembly = o.Value is IList list
? list[0]?.GetType().FullName
: o.Value.GetType().FullName;
@@ -64,8 +54,7 @@ namespace DSALib.DSA_Game.Save
Formatting.Indented)); // Deserialize Data and create CommandInfo Struct
}
}
- catch (Exception e)
- {
+ catch (Exception e) {
// ignored
Console.WriteLine("Speichern von Save-File fehlgeschlagen." + e);
}
diff --git a/dsa/DSALib/DSA_Game/Save/SaveCommand.cs b/dsa/DSALib/DSA_Game/Save/SaveCommand.cs
index c5a1bb4..0153779 100644
--- a/dsa/DSALib/DSA_Game/Save/SaveCommand.cs
+++ b/dsa/DSALib/DSA_Game/Save/SaveCommand.cs
@@ -2,14 +2,10 @@
using System.IO;
using System.Linq;
-namespace DSALib.DSA_Game.Save
-{
- public class SaveCommand
- {
- public void LoadSession(string name = "")
- {
- if (name.Equals("?") || name.Equals(string.Empty))
- {
+namespace DSALib.DSA_Game.Save {
+ public class SaveCommand {
+ public void LoadSession(string name = "") {
+ if (name.Equals("?") || name.Equals(string.Empty)) {
Console.WriteLine("Gespeicherte Sessions:");
Console.WriteLine(ListSessions());
return;
@@ -24,27 +20,23 @@ namespace DSALib.DSA_Game.Save
Console.WriteLine($"{name} wurde geladen");
}
- public void SessionSave(string name = "")
- {
+ public void SessionSave(string name = "") {
//var sendFile = this.Context.Channel.SendWebFile("https://cdn.discordapp.com/attachments/377123019673567232/465615882048110603/giphy.gif");
- if (name.Equals("?") || name.Equals(string.Empty))
- {
+ if (name.Equals("?") || name.Equals(string.Empty)) {
Console.WriteLine("Gespeicherte Sessions:");
Console.WriteLine(ListSessions());
return;
}
var path = Session.DirectoryPath + @"\" + name;
- if (Directory.Exists(path))
- {
+ if (Directory.Exists(path)) {
var files = Directory.GetFiles(path);
var current = files.Max(x => Convert.ToInt32(x.Split('-').Last().Split('.').First()));
Dsa.Session.SessionName = name;
Dsa.Session.Save(path + "\\" + name + $"-{++current}.json");
}
- else
- {
+ else {
Directory.CreateDirectory(path);
Dsa.Session.SessionName = name;
Dsa.Session.Save(path + "\\" + name + "-0.json");
@@ -54,8 +46,7 @@ namespace DSALib.DSA_Game.Save
//await sendFile;
}
- private string[] ListSessions()
- {
+ private string[] ListSessions() {
var dirs = Directory.GetDirectories(Session.DirectoryPath)
.OrderByDescending(x => new DirectoryInfo(x).LastAccessTime.Ticks).ToArray();
for (var i = 0; i < dirs.Length; i++) dirs[i] += "; " + new DirectoryInfo(dirs[i]).LastAccessTime;
diff --git a/dsa/DSALib/DSA_Game/Save/Session.cs b/dsa/DSALib/DSA_Game/Save/Session.cs
index 62aa8f6..bd36bf8 100644
--- a/dsa/DSALib/DSA_Game/Save/Session.cs
+++ b/dsa/DSALib/DSA_Game/Save/Session.cs
@@ -4,10 +4,8 @@ using System.IO;
using DSALib.DSA_Game.Characters;
using Newtonsoft.Json;
-namespace DSALib.DSA_Game.Save
-{
- public class Session
- {
+namespace DSALib.DSA_Game.Save {
+ public class Session {
public static string DirectoryPath { get; set; } = Dsa.rootPath + @"sessions";
public Dictionary<string, string> Relation { get; set; } =
@@ -17,32 +15,26 @@ namespace DSALib.DSA_Game.Save
public string SessionName { get; set; }
- public static Session Load(string path)
- {
- try
- {
+ public static Session Load(string path) {
+ try {
return
JsonConvert.DeserializeObject<Session>(
File.ReadAllText(path)); // Deserialize Data and create Session Object
}
- catch (Exception e)
- {
+ catch (Exception e) {
// ignored
Console.WriteLine($"Laden von Save-File {path} fehlgeschlagen." + e);
return null;
}
}
- public void Save(string path)
- {
- try
- {
+ public void Save(string path) {
+ try {
File.WriteAllText(path,
JsonConvert.SerializeObject(this,
Formatting.Indented)); // Deserialize Data and create CommandInfo Struct
}
- catch (Exception e)
- {
+ catch (Exception e) {
Console.WriteLine($"Speichern von Save-File {path} fehlgeschlagen.\n" + e);
// ignored
}