summaryrefslogtreecommitdiff
path: root/StardewModdingAPI/Constants.cs
diff options
context:
space:
mode:
authorZoryn Aaron <zoryn4163@gmail.com>2016-03-22 20:36:04 -0400
committerZoryn Aaron <zoryn4163@gmail.com>2016-03-22 20:36:04 -0400
commitd31456fdc7cd55576523bc32ff8a7c2c18d66710 (patch)
tree6c4a5f7904b172ea9af7d3d6b1bc07587e481e38 /StardewModdingAPI/Constants.cs
parenta30d804ecc200723bd144adf06d7a94dfff86f0f (diff)
downloadSMAPI-d31456fdc7cd55576523bc32ff8a7c2c18d66710.tar.gz
SMAPI-d31456fdc7cd55576523bc32ff8a7c2c18d66710.tar.bz2
SMAPI-d31456fdc7cd55576523bc32ff8a7c2c18d66710.zip
okay. things.
Diffstat (limited to 'StardewModdingAPI/Constants.cs')
-rw-r--r--StardewModdingAPI/Constants.cs24
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;
}
}