aboutsummaryrefslogtreecommitdiff
path: root/TimeHACK.Engine/SaveSystem.cs
diff options
context:
space:
mode:
authorAlex-TIMEHACK <[email protected]>2017-06-10 12:22:50 +0100
committerAlex-TIMEHACK <[email protected]>2017-06-10 12:22:50 +0100
commit316b7739bd1f2e19ba67d7fd6302b8ec0c8fa75a (patch)
tree4ed1f7005fb5a9149078f4a0d9953cffce058b2c /TimeHACK.Engine/SaveSystem.cs
parenta15d2c212ad88efa571c2421bb67629a884eee89 (diff)
downloadhistacom2-316b7739bd1f2e19ba67d7fd6302b8ec0c8fa75a.tar.gz
histacom2-316b7739bd1f2e19ba67d7fd6302b8ec0c8fa75a.tar.bz2
histacom2-316b7739bd1f2e19ba67d7fd6302b8ec0c8fa75a.zip
Done ALOT of tweaks and Save troubleshooter
There is now a save troubleshooter that checks your save files if they can't load! Also, it checks what OS to load on startup of the game!
Diffstat (limited to 'TimeHACK.Engine/SaveSystem.cs')
-rw-r--r--TimeHACK.Engine/SaveSystem.cs48
1 files changed, 27 insertions, 21 deletions
diff --git a/TimeHACK.Engine/SaveSystem.cs b/TimeHACK.Engine/SaveSystem.cs
index 82a0e5e..56a71a4 100644
--- a/TimeHACK.Engine/SaveSystem.cs
+++ b/TimeHACK.Engine/SaveSystem.cs
@@ -10,7 +10,7 @@ namespace TimeHACK.Engine
{
public static class SaveSystem
{
- public static Save CurrentSave { get; private set; }
+ public static Save CurrentSave { get; set; }
public static FileSystemFolderInfo filesystemflinfo { get; set; }
public static Boolean DevMode = false;
@@ -69,7 +69,13 @@ namespace TimeHACK.Engine
{
get
{
- return Path.Combine(ProfileSettingsDirectory, "Doc");
+ if (CurrentSave.CurrentOS == "95")
+ {
+ return Path.Combine(ProfileMyComputerDirectory, "Doc");
+ } else {
+ return Path.Combine(ProfileSettingsDirectory, "Doc");
+ }
+
}
}
@@ -112,13 +118,14 @@ namespace TimeHACK.Engine
public static void NewGame()
{
- //TODO: User must set a username....somehow
- CheckFiles();
+ //TODO: User must set a username....somehow
var save = new Save();
save.ExperiencedStories = new List<string>();
- save.InstalledPrograms = new Dictionary<string, bool>();
+ save.CurrentOS = "95";
CurrentSave = save;
+
+ CheckFiles();
SaveGame();
}
@@ -134,24 +141,21 @@ namespace TimeHACK.Engine
Directory.CreateDirectory(ProfileDirectory);
if (!Directory.Exists(ProfileFileSystemDirectory))
- {
Directory.CreateDirectory(ProfileFileSystemDirectory);
- SaveDirectoryInfo(ProfileFileSystemDirectory, false, "My Computer", false);
- Directory.CreateDirectory(ProfileMyComputerDirectory);
- SaveDirectoryInfo(ProfileMyComputerDirectory, false, "Win95", true);
- Directory.CreateDirectory(ProfileDocumentsDirectory);
- SaveDirectoryInfo(ProfileDocumentsDirectory, false, "My Documents", true);
- Directory.CreateDirectory(ProfileSettingsDirectory);
- SaveDirectoryInfo(ProfileSettingsDirectory, false, "Documents and Settings", true);
- Directory.CreateDirectory(ProfileProgramsDirectory);
- SaveDirectoryInfo(ProfileProgramsDirectory, true, "Program Files", true);
- Directory.CreateDirectory(ProfileWindowsDirectory);
- SaveDirectoryInfo(ProfileWindowsDirectory, true, "Windows", true);
- }
+
+ SaveDirectoryInfo(ProfileFileSystemDirectory, false, "My Computer", false);
+ SaveDirectoryInfo(ProfileMyComputerDirectory, false, "Win95", true);
+ SaveDirectoryInfo(ProfileDocumentsDirectory, false, "My Documents", true);
+ SaveDirectoryInfo(ProfileSettingsDirectory, false, "Documents and Settings", true);
+ SaveDirectoryInfo(ProfileProgramsDirectory, true, "Program Files", true);
+ SaveDirectoryInfo(ProfileWindowsDirectory, true, "Windows", true);
}
- public static void SaveDirectoryInfo(String Directory, Boolean isProtected, String label, Boolean allowback)
+ public static void SaveDirectoryInfo(String directory, Boolean isProtected, String label, Boolean allowback)
{
+ if (!Directory.Exists(directory))
+ Directory.CreateDirectory(directory);
+
FileSystemFolderInfo info = new FileSystemFolderInfo();
info.Isprotected = isProtected;
@@ -160,7 +164,7 @@ namespace TimeHACK.Engine
string toWrite = JsonConvert.SerializeObject(info, Formatting.Indented);
- File.WriteAllText(Path.Combine(Directory, "_data.info"), toWrite);
+ File.WriteAllText(Path.Combine(directory, "_data.info"), toWrite);
}
@@ -184,7 +188,9 @@ namespace TimeHACK.Engine
public class Save
{
public string Username { get; set; }
- public Dictionary<string, bool> InstalledPrograms { get; set; }
+
+ public string CurrentOS { get; set; }
+ // public Dictionary<string, bool> InstalledPrograms { get; set; } InstallProgram is no longer needed... we have that data in the FileSystem
public List<string> ExperiencedStories { get; set; }
}