diff options
author | Zoryn Aaron <zoryn4163@gmail.com> | 2016-03-22 20:36:04 -0400 |
---|---|---|
committer | Zoryn Aaron <zoryn4163@gmail.com> | 2016-03-22 20:36:04 -0400 |
commit | d31456fdc7cd55576523bc32ff8a7c2c18d66710 (patch) | |
tree | 6c4a5f7904b172ea9af7d3d6b1bc07587e481e38 /StardewModdingAPI/Constants.cs | |
parent | a30d804ecc200723bd144adf06d7a94dfff86f0f (diff) | |
download | SMAPI-d31456fdc7cd55576523bc32ff8a7c2c18d66710.tar.gz SMAPI-d31456fdc7cd55576523bc32ff8a7c2c18d66710.tar.bz2 SMAPI-d31456fdc7cd55576523bc32ff8a7c2c18d66710.zip |
okay. things.
Diffstat (limited to 'StardewModdingAPI/Constants.cs')
-rw-r--r-- | StardewModdingAPI/Constants.cs | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/StardewModdingAPI/Constants.cs b/StardewModdingAPI/Constants.cs index 4c10bf77..dde4193c 100644 --- a/StardewModdingAPI/Constants.cs +++ b/StardewModdingAPI/Constants.cs @@ -1,6 +1,7 @@ using System; using System.IO; using System.Reflection; +using StardewValley; namespace StardewModdingAPI { @@ -10,11 +11,23 @@ namespace StardewModdingAPI public static class Constants { /// <summary> - /// Stardew Valley's local app data location. - /// %LocalAppData%//StardewValley + /// Stardew Valley's roaming app data location. + /// %AppData%//StardewValley /// </summary> public static string DataPath => Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "StardewValley"); + public static string SavesPath => Path.Combine(DataPath, "Saves"); + + private static string saveFolderName => PlayerNull ? string.Empty : Game1.player.name.RemoveNumerics() + "_" + Game1.uniqueIDForThisGame; + public static string SaveFolderName => CurrentSavePathExists ? saveFolderName : ""; + + private static string currentSavePath => PlayerNull ? string.Empty : Path.Combine(SavesPath, saveFolderName); + public static string CurrentSavePath => CurrentSavePathExists ? currentSavePath : ""; + + public static bool CurrentSavePathExists => Directory.Exists(currentSavePath); + + public static bool PlayerNull => !Game1.hasLoadedGame || Game1.player == null || string.IsNullOrEmpty(Game1.player.name); + /// <summary> /// Execution path to execute the code. /// </summary> @@ -23,7 +36,7 @@ namespace StardewModdingAPI /// <summary> /// Title for the API console /// </summary> - public static string ConsoleTitle => string.Format("Stardew Modding API Console - Version {0}", VersionString); + public static string ConsoleTitle => string.Format("Stardew Modding API Console - Version {0} - Mods Loaded: {1}", VersionString, ModsLoaded); /// <summary> /// Path for log files to be output to. @@ -40,5 +53,10 @@ namespace StardewModdingAPI public const string Build = "Alpha"; public static string VersionString => string.Format("{0}.{1}.{2} {3}", MajorVersion, MinorVersion, PatchVersion, Build); + + /// <summary> + /// Not quite "constant", but it makes more sense for it to be here, at least for now + /// </summary> + public static int ModsLoaded = 0; } } |