summaryrefslogtreecommitdiff
path: root/src/SMAPI/Framework/Content
diff options
context:
space:
mode:
Diffstat (limited to 'src/SMAPI/Framework/Content')
-rw-r--r--src/SMAPI/Framework/Content/AssetData.cs10
-rw-r--r--src/SMAPI/Framework/Content/AssetDataForDictionary.cs43
-rw-r--r--src/SMAPI/Framework/Content/AssetDataForImage.cs10
-rw-r--r--src/SMAPI/Framework/Content/AssetDataForObject.cs20
-rw-r--r--src/SMAPI/Framework/Content/AssetInfo.cs22
-rw-r--r--src/SMAPI/Framework/Content/ContentCache.cs30
6 files changed, 51 insertions, 84 deletions
diff --git a/src/SMAPI/Framework/Content/AssetData.cs b/src/SMAPI/Framework/Content/AssetData.cs
index 553404d3..cacc6078 100644
--- a/src/SMAPI/Framework/Content/AssetData.cs
+++ b/src/SMAPI/Framework/Content/AssetData.cs
@@ -24,13 +24,13 @@ namespace StardewModdingAPI.Framework.Content
** Public methods
*********/
/// <summary>Construct an instance.</summary>
- /// <param name="locale">The content's locale code, if the content is localised.</param>
- /// <param name="assetName">The normalised asset name being read.</param>
+ /// <param name="locale">The content's locale code, if the content is localized.</param>
+ /// <param name="assetName">The normalized asset name being read.</param>
/// <param name="data">The content data being read.</param>
- /// <param name="getNormalisedPath">Normalises an asset key to match the cache key.</param>
+ /// <param name="getNormalizedPath">Normalizes an asset key to match the cache key.</param>
/// <param name="onDataReplaced">A callback to invoke when the data is replaced (if any).</param>
- public AssetData(string locale, string assetName, TValue data, Func<string, string> getNormalisedPath, Action<TValue> onDataReplaced)
- : base(locale, assetName, data.GetType(), getNormalisedPath)
+ public AssetData(string locale, string assetName, TValue data, Func<string, string> getNormalizedPath, Action<TValue> onDataReplaced)
+ : base(locale, assetName, data.GetType(), getNormalizedPath)
{
this.Data = data;
this.OnDataReplaced = onDataReplaced;
diff --git a/src/SMAPI/Framework/Content/AssetDataForDictionary.cs b/src/SMAPI/Framework/Content/AssetDataForDictionary.cs
index 11a2564c..26cbff5a 100644
--- a/src/SMAPI/Framework/Content/AssetDataForDictionary.cs
+++ b/src/SMAPI/Framework/Content/AssetDataForDictionary.cs
@@ -1,6 +1,5 @@
using System;
using System.Collections.Generic;
-using System.Linq;
namespace StardewModdingAPI.Framework.Content
{
@@ -11,44 +10,12 @@ namespace StardewModdingAPI.Framework.Content
** Public methods
*********/
/// <summary>Construct an instance.</summary>
- /// <param name="locale">The content's locale code, if the content is localised.</param>
- /// <param name="assetName">The normalised asset name being read.</param>
+ /// <param name="locale">The content's locale code, if the content is localized.</param>
+ /// <param name="assetName">The normalized asset name being read.</param>
/// <param name="data">The content data being read.</param>
- /// <param name="getNormalisedPath">Normalises an asset key to match the cache key.</param>
+ /// <param name="getNormalizedPath">Normalizes an asset key to match the cache key.</param>
/// <param name="onDataReplaced">A callback to invoke when the data is replaced (if any).</param>
- public AssetDataForDictionary(string locale, string assetName, IDictionary<TKey, TValue> data, Func<string, string> getNormalisedPath, Action<IDictionary<TKey, TValue>> onDataReplaced)
- : base(locale, assetName, data, getNormalisedPath, onDataReplaced) { }
-
-#if !SMAPI_3_0_STRICT
- /// <summary>Add or replace an entry in the dictionary.</summary>
- /// <param name="key">The entry key.</param>
- /// <param name="value">The entry value.</param>
- [Obsolete("Access " + nameof(AssetData<IDictionary<TKey, TValue>>.Data) + "field directly.")]
- public void Set(TKey key, TValue value)
- {
- SCore.DeprecationManager.Warn($"AssetDataForDictionary.{nameof(Set)}", "2.10", DeprecationLevel.PendingRemoval);
- this.Data[key] = value;
- }
-
- /// <summary>Add or replace an entry in the dictionary.</summary>
- /// <param name="key">The entry key.</param>
- /// <param name="value">A callback which accepts the current value and returns the new value.</param>
- [Obsolete("Access " + nameof(AssetData<IDictionary<TKey, TValue>>.Data) + "field directly.")]
- public void Set(TKey key, Func<TValue, TValue> value)
- {
- SCore.DeprecationManager.Warn($"AssetDataForDictionary.{nameof(Set)}", "2.10", DeprecationLevel.PendingRemoval);
- this.Data[key] = value(this.Data[key]);
- }
-
- /// <summary>Dynamically replace values in the dictionary.</summary>
- /// <param name="replacer">A lambda which takes the current key and value for an entry, and returns the new value.</param>
- [Obsolete("Access " + nameof(AssetData<IDictionary<TKey, TValue>>.Data) + "field directly.")]
- public void Set(Func<TKey, TValue, TValue> replacer)
- {
- SCore.DeprecationManager.Warn($"AssetDataForDictionary.{nameof(Set)}", "2.10", DeprecationLevel.PendingRemoval);
- foreach (var pair in this.Data.ToArray())
- this.Data[pair.Key] = replacer(pair.Key, pair.Value);
- }
-#endif
+ public AssetDataForDictionary(string locale, string assetName, IDictionary<TKey, TValue> data, Func<string, string> getNormalizedPath, Action<IDictionary<TKey, TValue>> onDataReplaced)
+ : base(locale, assetName, data, getNormalizedPath, onDataReplaced) { }
}
}
diff --git a/src/SMAPI/Framework/Content/AssetDataForImage.cs b/src/SMAPI/Framework/Content/AssetDataForImage.cs
index f2d21b5e..4ae2ad68 100644
--- a/src/SMAPI/Framework/Content/AssetDataForImage.cs
+++ b/src/SMAPI/Framework/Content/AssetDataForImage.cs
@@ -19,13 +19,13 @@ namespace StardewModdingAPI.Framework.Content
** Public methods
*********/
/// <summary>Construct an instance.</summary>
- /// <param name="locale">The content's locale code, if the content is localised.</param>
- /// <param name="assetName">The normalised asset name being read.</param>
+ /// <param name="locale">The content's locale code, if the content is localized.</param>
+ /// <param name="assetName">The normalized asset name being read.</param>
/// <param name="data">The content data being read.</param>
- /// <param name="getNormalisedPath">Normalises an asset key to match the cache key.</param>
+ /// <param name="getNormalizedPath">Normalizes an asset key to match the cache key.</param>
/// <param name="onDataReplaced">A callback to invoke when the data is replaced (if any).</param>
- public AssetDataForImage(string locale, string assetName, Texture2D data, Func<string, string> getNormalisedPath, Action<Texture2D> onDataReplaced)
- : base(locale, assetName, data, getNormalisedPath, onDataReplaced) { }
+ public AssetDataForImage(string locale, string assetName, Texture2D data, Func<string, string> getNormalizedPath, Action<Texture2D> onDataReplaced)
+ : base(locale, assetName, data, getNormalizedPath, onDataReplaced) { }
/// <summary>Overwrite part of the image.</summary>
/// <param name="source">The image to patch into the content.</param>
diff --git a/src/SMAPI/Framework/Content/AssetDataForObject.cs b/src/SMAPI/Framework/Content/AssetDataForObject.cs
index 90f9e2d4..4dbc988c 100644
--- a/src/SMAPI/Framework/Content/AssetDataForObject.cs
+++ b/src/SMAPI/Framework/Content/AssetDataForObject.cs
@@ -11,19 +11,19 @@ namespace StardewModdingAPI.Framework.Content
** Public methods
*********/
/// <summary>Construct an instance.</summary>
- /// <param name="locale">The content's locale code, if the content is localised.</param>
- /// <param name="assetName">The normalised asset name being read.</param>
+ /// <param name="locale">The content's locale code, if the content is localized.</param>
+ /// <param name="assetName">The normalized asset name being read.</param>
/// <param name="data">The content data being read.</param>
- /// <param name="getNormalisedPath">Normalises an asset key to match the cache key.</param>
- public AssetDataForObject(string locale, string assetName, object data, Func<string, string> getNormalisedPath)
- : base(locale, assetName, data, getNormalisedPath, onDataReplaced: null) { }
+ /// <param name="getNormalizedPath">Normalizes an asset key to match the cache key.</param>
+ public AssetDataForObject(string locale, string assetName, object data, Func<string, string> getNormalizedPath)
+ : base(locale, assetName, data, getNormalizedPath, onDataReplaced: null) { }
/// <summary>Construct an instance.</summary>
/// <param name="info">The asset metadata.</param>
/// <param name="data">The content data being read.</param>
- /// <param name="getNormalisedPath">Normalises an asset key to match the cache key.</param>
- public AssetDataForObject(IAssetInfo info, object data, Func<string, string> getNormalisedPath)
- : this(info.Locale, info.AssetName, data, getNormalisedPath) { }
+ /// <param name="getNormalizedPath">Normalizes an asset key to match the cache key.</param>
+ public AssetDataForObject(IAssetInfo info, object data, Func<string, string> getNormalizedPath)
+ : this(info.Locale, info.AssetName, data, getNormalizedPath) { }
/// <summary>Get a helper to manipulate the data as a dictionary.</summary>
/// <typeparam name="TKey">The expected dictionary key.</typeparam>
@@ -31,14 +31,14 @@ namespace StardewModdingAPI.Framework.Content
/// <exception cref="InvalidOperationException">The content being read isn't a dictionary.</exception>
public IAssetDataForDictionary<TKey, TValue> AsDictionary<TKey, TValue>()
{
- return new AssetDataForDictionary<TKey, TValue>(this.Locale, this.AssetName, this.GetData<IDictionary<TKey, TValue>>(), this.GetNormalisedPath, this.ReplaceWith);
+ return new AssetDataForDictionary<TKey, TValue>(this.Locale, this.AssetName, this.GetData<IDictionary<TKey, TValue>>(), this.GetNormalizedPath, this.ReplaceWith);
}
/// <summary>Get a helper to manipulate the data as an image.</summary>
/// <exception cref="InvalidOperationException">The content being read isn't an image.</exception>
public IAssetDataForImage AsImage()
{
- return new AssetDataForImage(this.Locale, this.AssetName, this.GetData<Texture2D>(), this.GetNormalisedPath, this.ReplaceWith);
+ return new AssetDataForImage(this.Locale, this.AssetName, this.GetData<Texture2D>(), this.GetNormalizedPath, this.ReplaceWith);
}
/// <summary>Get the data as a given type.</summary>
diff --git a/src/SMAPI/Framework/Content/AssetInfo.cs b/src/SMAPI/Framework/Content/AssetInfo.cs
index e5211290..9b685e72 100644
--- a/src/SMAPI/Framework/Content/AssetInfo.cs
+++ b/src/SMAPI/Framework/Content/AssetInfo.cs
@@ -9,17 +9,17 @@ namespace StardewModdingAPI.Framework.Content
/*********
** Fields
*********/
- /// <summary>Normalises an asset key to match the cache key.</summary>
- protected readonly Func<string, string> GetNormalisedPath;
+ /// <summary>Normalizes an asset key to match the cache key.</summary>
+ protected readonly Func<string, string> GetNormalizedPath;
/*********
** Accessors
*********/
- /// <summary>The content's locale code, if the content is localised.</summary>
+ /// <summary>The content's locale code, if the content is localized.</summary>
public string Locale { get; }
- /// <summary>The normalised asset name being read. The format may change between platforms; see <see cref="AssetNameEquals"/> to compare with a known path.</summary>
+ /// <summary>The normalized asset name being read. The format may change between platforms; see <see cref="AssetNameEquals"/> to compare with a known path.</summary>
public string AssetName { get; }
/// <summary>The content data type.</summary>
@@ -30,23 +30,23 @@ namespace StardewModdingAPI.Framework.Content
** Public methods
*********/
/// <summary>Construct an instance.</summary>
- /// <param name="locale">The content's locale code, if the content is localised.</param>
- /// <param name="assetName">The normalised asset name being read.</param>
+ /// <param name="locale">The content's locale code, if the content is localized.</param>
+ /// <param name="assetName">The normalized asset name being read.</param>
/// <param name="type">The content type being read.</param>
- /// <param name="getNormalisedPath">Normalises an asset key to match the cache key.</param>
- public AssetInfo(string locale, string assetName, Type type, Func<string, string> getNormalisedPath)
+ /// <param name="getNormalizedPath">Normalizes an asset key to match the cache key.</param>
+ public AssetInfo(string locale, string assetName, Type type, Func<string, string> getNormalizedPath)
{
this.Locale = locale;
this.AssetName = assetName;
this.DataType = type;
- this.GetNormalisedPath = getNormalisedPath;
+ this.GetNormalizedPath = getNormalizedPath;
}
- /// <summary>Get whether the asset name being loaded matches a given name after normalisation.</summary>
+ /// <summary>Get whether the asset name being loaded matches a given name after normalization.</summary>
/// <param name="path">The expected asset path, relative to the game's content folder and without the .xnb extension or locale suffix (like 'Data\ObjectInformation').</param>
public bool AssetNameEquals(string path)
{
- path = this.GetNormalisedPath(path);
+ path = this.GetNormalizedPath(path);
return this.AssetName.Equals(path, StringComparison.InvariantCultureIgnoreCase);
}
diff --git a/src/SMAPI/Framework/Content/ContentCache.cs b/src/SMAPI/Framework/Content/ContentCache.cs
index 55a96ed2..4178b663 100644
--- a/src/SMAPI/Framework/Content/ContentCache.cs
+++ b/src/SMAPI/Framework/Content/ContentCache.cs
@@ -10,7 +10,7 @@ using StardewValley;
namespace StardewModdingAPI.Framework.Content
{
- /// <summary>A low-level wrapper around the content cache which handles reading, writing, and invalidating entries in the cache. This doesn't handle any higher-level logic like localisation, loading content, etc. It assumes all keys passed in are already normalised.</summary>
+ /// <summary>A low-level wrapper around the content cache which handles reading, writing, and invalidating entries in the cache. This doesn't handle any higher-level logic like localization, loading content, etc. It assumes all keys passed in are already normalized.</summary>
internal class ContentCache
{
/*********
@@ -19,8 +19,8 @@ namespace StardewModdingAPI.Framework.Content
/// <summary>The underlying asset cache.</summary>
private readonly IDictionary<string, object> Cache;
- /// <summary>Applies platform-specific asset key normalisation so it's consistent with the underlying cache.</summary>
- private readonly Func<string, string> NormaliseAssetNameForPlatform;
+ /// <summary>Applies platform-specific asset key normalization so it's consistent with the underlying cache.</summary>
+ private readonly Func<string, string> NormalizeAssetNameForPlatform;
/*********
@@ -52,14 +52,14 @@ namespace StardewModdingAPI.Framework.Content
// init
this.Cache = reflection.GetField<Dictionary<string, object>>(contentManager, "loadedAssets").GetValue();
- // get key normalisation logic
+ // get key normalization logic
if (Constants.Platform == Platform.Windows)
{
IReflectedMethod method = reflection.GetMethod(typeof(TitleContainer), "GetCleanPath");
- this.NormaliseAssetNameForPlatform = path => method.Invoke<string>(path);
+ this.NormalizeAssetNameForPlatform = path => method.Invoke<string>(path);
}
else
- this.NormaliseAssetNameForPlatform = key => key.Replace('\\', '/'); // based on MonoGame's ContentManager.Load<T> logic
+ this.NormalizeAssetNameForPlatform = key => key.Replace('\\', '/'); // based on MonoGame's ContentManager.Load<T> logic
}
/****
@@ -74,25 +74,25 @@ namespace StardewModdingAPI.Framework.Content
/****
- ** Normalise
+ ** Normalize
****/
- /// <summary>Normalise path separators in a file path. For asset keys, see <see cref="NormaliseKey"/> instead.</summary>
- /// <param name="path">The file path to normalise.</param>
+ /// <summary>Normalize path separators in a file path. For asset keys, see <see cref="NormalizeKey"/> instead.</summary>
+ /// <param name="path">The file path to normalize.</param>
[Pure]
- public string NormalisePathSeparators(string path)
+ public string NormalizePathSeparators(string path)
{
- return PathUtilities.NormalisePathSeparators(path);
+ return PathUtilities.NormalizePathSeparators(path);
}
- /// <summary>Normalise a cache key so it's consistent with the underlying cache.</summary>
+ /// <summary>Normalize a cache key so it's consistent with the underlying cache.</summary>
/// <param name="key">The asset key.</param>
[Pure]
- public string NormaliseKey(string key)
+ public string NormalizeKey(string key)
{
- key = this.NormalisePathSeparators(key);
+ key = this.NormalizePathSeparators(key);
return key.EndsWith(".xnb", StringComparison.InvariantCultureIgnoreCase)
? key.Substring(0, key.Length - 4)
- : this.NormaliseAssetNameForPlatform(key);
+ : this.NormalizeAssetNameForPlatform(key);
}
/****