diff options
Diffstat (limited to 'src/SMAPI/Framework/Content/ContentCache.cs')
-rw-r--r-- | src/SMAPI/Framework/Content/ContentCache.cs | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/SMAPI/Framework/Content/ContentCache.cs b/src/SMAPI/Framework/Content/ContentCache.cs index 4e620d28..cbb6c1e9 100644 --- a/src/SMAPI/Framework/Content/ContentCache.cs +++ b/src/SMAPI/Framework/Content/ContentCache.cs @@ -1,12 +1,9 @@ -#nullable disable - using System; using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; using System.Diagnostics.Contracts; using System.Linq; -using StardewModdingAPI.Framework.Reflection; using StardewModdingAPI.Toolkit.Utilities; -using StardewValley; namespace StardewModdingAPI.Framework.Content { @@ -42,11 +39,10 @@ namespace StardewModdingAPI.Framework.Content ** Constructor ****/ /// <summary>Construct an instance.</summary> - /// <param name="contentManager">The underlying content manager whose cache to manage.</param> - /// <param name="reflection">Simplifies access to private game code.</param> - public ContentCache(LocalizedContentManager contentManager, Reflector reflection) + /// <param name="loadedAssets">The asset cache for the underlying content manager.</param> + public ContentCache(Dictionary<string, object> loadedAssets) { - this.Cache = reflection.GetField<Dictionary<string, object>>(contentManager, "loadedAssets").GetValue(); + this.Cache = loadedAssets; } /**** @@ -66,7 +62,8 @@ namespace StardewModdingAPI.Framework.Content /// <summary>Normalize path separators in an asset name.</summary> /// <param name="path">The file path to normalize.</param> [Pure] - public string NormalizePathSeparators(string path) + [return: NotNullIfNotNull("path")] + public string? NormalizePathSeparators(string? path) { return PathUtilities.NormalizeAssetName(path); } @@ -93,7 +90,7 @@ namespace StardewModdingAPI.Framework.Content public bool Remove(string key, bool dispose) { // get entry - if (!this.Cache.TryGetValue(key, out object value)) + if (!this.Cache.TryGetValue(key, out object? value)) return false; // dispose & remove entry |