diff options
| author | Alex-TIMEHACK <[email protected]> | 2017-05-20 13:42:23 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2017-05-20 13:42:23 +0100 |
| commit | 9af6e5bbff5138a4140958968affc79ec3447139 (patch) | |
| tree | 92f79c16d75b779fa20e24844b7739c0fec51568 /TimeHACK.Engine | |
| parent | eafc3296a00d057b3adb4af08b2320d2de1f1d52 (diff) | |
| parent | c322a51694c130f036df17ec3027a5b30eb9472c (diff) | |
| download | histacom2-9af6e5bbff5138a4140958968affc79ec3447139.tar.gz histacom2-9af6e5bbff5138a4140958968affc79ec3447139.tar.bz2 histacom2-9af6e5bbff5138a4140958968affc79ec3447139.zip | |
Merge pull request #74 from Alex-TIMEHACK/master
Added my SaveSystem!
Diffstat (limited to 'TimeHACK.Engine')
| -rw-r--r-- | TimeHACK.Engine/SaveSystem.cs | 61 | ||||
| -rw-r--r-- | TimeHACK.Engine/bin/Release/TimeHACK.Engine.dll | bin | 187392 -> 187392 bytes | |||
| -rw-r--r-- | TimeHACK.Engine/bin/Release/TimeHACK.Engine.pdb | bin | 54784 -> 54784 bytes | |||
| -rw-r--r-- | TimeHACK.Engine/obj/Release/TimeHACK.Engine.csproj.FileListAbsolute.txt | 1 | ||||
| -rw-r--r-- | TimeHACK.Engine/obj/Release/TimeHACK.Engine.csproj.GenerateResource.Cache | bin | 2245 -> 2531 bytes | |||
| -rw-r--r-- | TimeHACK.Engine/obj/Release/TimeHACK.Engine.csprojResolveAssemblyReference.cache | bin | 10673 -> 0 bytes | |||
| -rw-r--r-- | TimeHACK.Engine/obj/Release/TimeHACK.Engine.dll | bin | 187392 -> 187392 bytes | |||
| -rw-r--r-- | TimeHACK.Engine/obj/Release/TimeHACK.Engine.pdb | bin | 54784 -> 54784 bytes |
8 files changed, 40 insertions, 22 deletions
diff --git a/TimeHACK.Engine/SaveSystem.cs b/TimeHACK.Engine/SaveSystem.cs index 2016110..89c9cb0 100644 --- a/TimeHACK.Engine/SaveSystem.cs +++ b/TimeHACK.Engine/SaveSystem.cs @@ -11,6 +11,7 @@ namespace TimeHACK.Engine public static class SaveSystem { public static Save CurrentSave { get; private set; } + public static Boolean DevMode = false; public static string GameDirectory { @@ -20,7 +21,7 @@ namespace TimeHACK.Engine } } - public static string ProfileDirectory + public static string AllProfilesDirectory { get { @@ -28,33 +29,47 @@ namespace TimeHACK.Engine } } - public static bool LoadSave() + public static string ProfileName = ""; + public static string ProfileFile = "main.save"; + + public static string ProfileDirectory { - if(File.Exists(Path.Combine(ProfileDirectory, "user.save"))) - { - //Read base64 string from file - string b64 = File.ReadAllText(Path.Combine(ProfileDirectory, "user.save")); - //Get Unicode byte array - byte[] bytes = Convert.FromBase64String(b64); - //Decode the Unicode - string json = Encoding.UTF8.GetString(bytes); - //Deserialize save object. - CurrentSave = JsonConvert.DeserializeObject<Save>(json); - return true; - } - else + get { - NewGame(); - return false; + return Path.Combine(GameDirectory, Path.Combine("Profiles", ProfileName)); } } + public static bool LoadSave() + { + // ON A FINAL RELEASE USE THE "FINAL RELEASE THINGS" + #region Final Release Things + //Read base64 string from file + //string b64 = File.ReadAllText(Path.Combine(ProfileDirectory, ProfileFile)); + //Get Unicode byte array + //byte[] bytes = Convert.FromBase64String(b64); + //Decode the Unicode + //string json = Encoding.UTF8.GetString(bytes); + //Deserialize save object. + #endregion + // USE THE THINGS IN THE "DEVELOPER THINGS" FOR A DEVELOPMENT RELEASE + #region Developer Things + string json = File.ReadAllText(Path.Combine(ProfileDirectory, ProfileFile)); + #endregion + CurrentSave = JsonConvert.DeserializeObject<Save>(json); + return true; + } + public static void NewGame() { + //TODO: User must set a username....somehow if (!Directory.Exists(GameDirectory)) Directory.CreateDirectory(GameDirectory); + if (!Directory.Exists(AllProfilesDirectory)) + Directory.CreateDirectory(AllProfilesDirectory); + if (!Directory.Exists(ProfileDirectory)) Directory.CreateDirectory(ProfileDirectory); @@ -68,13 +83,17 @@ namespace TimeHACK.Engine public static void SaveGame() { //Serialize the save to JSON. - string json = JsonConvert.SerializeObject(CurrentSave); + string json = JsonConvert.SerializeObject(CurrentSave, Formatting.Indented); + + // ADD THE TWO LINES OF CODE BELOW ON A FINAL RELEASE //Get JSON bytes (Unicode format). - var bytes = Encoding.UTF8.GetBytes(json); + //var bytes = Encoding.UTF8.GetBytes(json); //Encode the array into Base64. - string b64 = Convert.ToBase64String(bytes); + //string b64 = Convert.ToBase64String(bytes); //Write to disk. - File.WriteAllText(Path.Combine(ProfileDirectory, "user.save"), b64); + + // CHANGE THE "JSON" TO "B64" ON A FINAL RELEASE! + File.WriteAllText(Path.Combine(ProfileDirectory, ProfileFile), json); } } diff --git a/TimeHACK.Engine/bin/Release/TimeHACK.Engine.dll b/TimeHACK.Engine/bin/Release/TimeHACK.Engine.dll Binary files differindex 86d9598..062eb83 100644 --- a/TimeHACK.Engine/bin/Release/TimeHACK.Engine.dll +++ b/TimeHACK.Engine/bin/Release/TimeHACK.Engine.dll diff --git a/TimeHACK.Engine/bin/Release/TimeHACK.Engine.pdb b/TimeHACK.Engine/bin/Release/TimeHACK.Engine.pdb Binary files differindex 10716d1..57383ef 100644 --- a/TimeHACK.Engine/bin/Release/TimeHACK.Engine.pdb +++ b/TimeHACK.Engine/bin/Release/TimeHACK.Engine.pdb diff --git a/TimeHACK.Engine/obj/Release/TimeHACK.Engine.csproj.FileListAbsolute.txt b/TimeHACK.Engine/obj/Release/TimeHACK.Engine.csproj.FileListAbsolute.txt index 7fd9d9e..f9bcb5d 100644 --- a/TimeHACK.Engine/obj/Release/TimeHACK.Engine.csproj.FileListAbsolute.txt +++ b/TimeHACK.Engine/obj/Release/TimeHACK.Engine.csproj.FileListAbsolute.txt @@ -28,7 +28,6 @@ I:\Desktop\HistamcomVB\My-TimeHACK\TimeHACK\TimeHACK.Engine\obj\Release\TimeHACK I:\Desktop\HistamcomVB\My-TimeHACK\TimeHACK\TimeHACK.Engine\obj\Release\TimeHACK.Engine.csproj.GenerateResource.Cache I:\Desktop\HistamcomVB\My-TimeHACK\TimeHACK\TimeHACK.Engine\obj\Release\TimeHACK.Engine.dll I:\Desktop\HistamcomVB\My-TimeHACK\TimeHACK\TimeHACK.Engine\obj\Release\TimeHACK.Engine.pdb -I:\Desktop\HistamcomVB\My-TimeHACK\TimeHACK\TimeHACK.Engine\obj\Release\TimeHACK.Engine.csprojResolveAssemblyReference.cache C:\Users\lempamo\Documents\GitHub\TimeHACK-fork\TimeHACK.Engine\bin\Release\TimeHACK.Engine.dll C:\Users\lempamo\Documents\GitHub\TimeHACK-fork\TimeHACK.Engine\bin\Release\TimeHACK.Engine.pdb C:\Users\lempamo\Documents\GitHub\TimeHACK-fork\TimeHACK.Engine\bin\Release\Newtonsoft.Json.dll diff --git a/TimeHACK.Engine/obj/Release/TimeHACK.Engine.csproj.GenerateResource.Cache b/TimeHACK.Engine/obj/Release/TimeHACK.Engine.csproj.GenerateResource.Cache Binary files differindex c63151a..5860591 100644 --- a/TimeHACK.Engine/obj/Release/TimeHACK.Engine.csproj.GenerateResource.Cache +++ b/TimeHACK.Engine/obj/Release/TimeHACK.Engine.csproj.GenerateResource.Cache diff --git a/TimeHACK.Engine/obj/Release/TimeHACK.Engine.csprojResolveAssemblyReference.cache b/TimeHACK.Engine/obj/Release/TimeHACK.Engine.csprojResolveAssemblyReference.cache Binary files differdeleted file mode 100644 index 138bee0..0000000 --- a/TimeHACK.Engine/obj/Release/TimeHACK.Engine.csprojResolveAssemblyReference.cache +++ /dev/null diff --git a/TimeHACK.Engine/obj/Release/TimeHACK.Engine.dll b/TimeHACK.Engine/obj/Release/TimeHACK.Engine.dll Binary files differindex 86d9598..062eb83 100644 --- a/TimeHACK.Engine/obj/Release/TimeHACK.Engine.dll +++ b/TimeHACK.Engine/obj/Release/TimeHACK.Engine.dll diff --git a/TimeHACK.Engine/obj/Release/TimeHACK.Engine.pdb b/TimeHACK.Engine/obj/Release/TimeHACK.Engine.pdb Binary files differindex 10716d1..57383ef 100644 --- a/TimeHACK.Engine/obj/Release/TimeHACK.Engine.pdb +++ b/TimeHACK.Engine/obj/Release/TimeHACK.Engine.pdb |
