summaryrefslogtreecommitdiff
path: root/src/SMAPI/Framework
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2022-05-08 18:37:23 -0400
committerJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2022-05-08 18:37:23 -0400
commit5f2e83969a0994d798b869b1b53e9fc82d556093 (patch)
treed6e9ed8e6091223f3f5e2a7686e404c65573af75 /src/SMAPI/Framework
parente2a3fc4f9974e4ea0c575c82be9b431904d6706d (diff)
downloadSMAPI-5f2e83969a0994d798b869b1b53e9fc82d556093.tar.gz
SMAPI-5f2e83969a0994d798b869b1b53e9fc82d556093.tar.bz2
SMAPI-5f2e83969a0994d798b869b1b53e9fc82d556093.zip
only build AssetWithoutLocale when it's used
Diffstat (limited to 'src/SMAPI/Framework')
-rw-r--r--src/SMAPI/Framework/Content/AssetInfo.cs6
-rw-r--r--src/SMAPI/Framework/SCore.cs2
2 files changed, 5 insertions, 3 deletions
diff --git a/src/SMAPI/Framework/Content/AssetInfo.cs b/src/SMAPI/Framework/Content/AssetInfo.cs
index 363fffb3..a4f0a408 100644
--- a/src/SMAPI/Framework/Content/AssetInfo.cs
+++ b/src/SMAPI/Framework/Content/AssetInfo.cs
@@ -13,6 +13,9 @@ namespace StardewModdingAPI.Framework.Content
/// <summary>Normalizes an asset key to match the cache key.</summary>
protected readonly Func<string, string> GetNormalizedPath;
+ /// <summary>The backing field for <see cref="NameWithoutLocale"/>.</summary>
+ private IAssetName? NameWithoutLocaleImpl;
+
/*********
** Accessors
@@ -24,7 +27,7 @@ namespace StardewModdingAPI.Framework.Content
public IAssetName Name { get; }
/// <inheritdoc />
- public IAssetName NameWithoutLocale { get; }
+ public IAssetName NameWithoutLocale => this.NameWithoutLocaleImpl ??= this.Name.GetBaseAssetName();
/// <inheritdoc />
[Obsolete($"Use {nameof(AssetInfo.Name)} or {nameof(AssetInfo.NameWithoutLocale)} instead. This property will be removed in SMAPI 4.0.0.")]
@@ -64,7 +67,6 @@ namespace StardewModdingAPI.Framework.Content
{
this.Locale = locale;
this.Name = assetName;
- this.NameWithoutLocale = assetName.GetBaseAssetName();
this.DataType = type;
this.GetNormalizedPath = getNormalizedPath;
}
diff --git a/src/SMAPI/Framework/SCore.cs b/src/SMAPI/Framework/SCore.cs
index 3c6e1b6c..f882682e 100644
--- a/src/SMAPI/Framework/SCore.cs
+++ b/src/SMAPI/Framework/SCore.cs
@@ -1160,7 +1160,7 @@ namespace StardewModdingAPI.Framework
this.EventManager.AssetRequested.Raise(
invoke: (mod, invoke) =>
{
- AssetRequestedEventArgs args = new(mod, asset.Name, asset.NameWithoutLocale, asset.DataType, this.GetOnBehalfOfContentPack);
+ AssetRequestedEventArgs args = new(mod, asset, this.GetOnBehalfOfContentPack);
invoke(args);