summaryrefslogtreecommitdiff
path: root/src/SMAPI/Framework/ContentManagers
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2022-03-27 12:16:28 -0400
committerJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2022-03-27 12:16:28 -0400
commitd864f2ed775dfd5843b9e1cdd1da96ade5dd1068 (patch)
tree0c5d14bb6e1febc82a1d4cebaf46c44b83f46026 /src/SMAPI/Framework/ContentManagers
parent03efea26676464933513383eb1c841f1ca5db34d (diff)
downloadSMAPI-d864f2ed775dfd5843b9e1cdd1da96ade5dd1068.tar.gz
SMAPI-d864f2ed775dfd5843b9e1cdd1da96ade5dd1068.tar.bz2
SMAPI-d864f2ed775dfd5843b9e1cdd1da96ade5dd1068.zip
add asset type to AssetRequested event (#766)
Diffstat (limited to 'src/SMAPI/Framework/ContentManagers')
-rw-r--r--src/SMAPI/Framework/ContentManagers/BaseContentManager.cs2
-rw-r--r--src/SMAPI/Framework/ContentManagers/GameContentManager.cs8
-rw-r--r--src/SMAPI/Framework/ContentManagers/IContentManager.cs3
-rw-r--r--src/SMAPI/Framework/ContentManagers/ModContentManager.cs4
4 files changed, 9 insertions, 8 deletions
diff --git a/src/SMAPI/Framework/ContentManagers/BaseContentManager.cs b/src/SMAPI/Framework/ContentManagers/BaseContentManager.cs
index 1ca84792..f41a9354 100644
--- a/src/SMAPI/Framework/ContentManagers/BaseContentManager.cs
+++ b/src/SMAPI/Framework/ContentManagers/BaseContentManager.cs
@@ -97,7 +97,7 @@ namespace StardewModdingAPI.Framework.ContentManagers
}
/// <inheritdoc />
- public virtual bool DoesAssetExist(IAssetName assetName)
+ public virtual bool DoesAssetExist<T>(IAssetName assetName)
{
return this.Cache.ContainsKey(assetName.Name);
}
diff --git a/src/SMAPI/Framework/ContentManagers/GameContentManager.cs b/src/SMAPI/Framework/ContentManagers/GameContentManager.cs
index 0fcad30a..3d37e32a 100644
--- a/src/SMAPI/Framework/ContentManagers/GameContentManager.cs
+++ b/src/SMAPI/Framework/ContentManagers/GameContentManager.cs
@@ -58,9 +58,9 @@ namespace StardewModdingAPI.Framework.ContentManagers
}
/// <inheritdoc />
- public override bool DoesAssetExist(IAssetName assetName)
+ public override bool DoesAssetExist<T>(IAssetName assetName)
{
- if (base.DoesAssetExist(assetName))
+ if (base.DoesAssetExist<T>(assetName))
return true;
// vanilla asset
@@ -69,11 +69,11 @@ namespace StardewModdingAPI.Framework.ContentManagers
// managed asset
if (this.Coordinator.TryParseManagedAssetKey(assetName.Name, out string contentManagerID, out IAssetName relativePath))
- return this.Coordinator.DoesManagedAssetExist(contentManagerID, relativePath);
+ return this.Coordinator.DoesManagedAssetExist<T>(contentManagerID, relativePath);
// custom asset from a loader
string locale = this.GetLocale();
- IAssetInfo info = new AssetInfo(locale, assetName, typeof(object), this.AssertAndNormalizeAssetName);
+ IAssetInfo info = new AssetInfo(locale, assetName, typeof(T), this.AssertAndNormalizeAssetName);
AssetLoadOperation[] loaders = this.GetLoaders<object>(info).ToArray();
if (!this.AssertMaxOneRequiredLoader(info, loaders, out string error))
diff --git a/src/SMAPI/Framework/ContentManagers/IContentManager.cs b/src/SMAPI/Framework/ContentManagers/IContentManager.cs
index 774b20d9..90095492 100644
--- a/src/SMAPI/Framework/ContentManagers/IContentManager.cs
+++ b/src/SMAPI/Framework/ContentManagers/IContentManager.cs
@@ -29,8 +29,9 @@ namespace StardewModdingAPI.Framework.ContentManagers
** Methods
*********/
/// <summary>Get whether an asset exists and can be loaded.</summary>
+ /// <typeparam name="T">The expected asset type.</typeparam>
/// <param name="assetName">The normalized asset name.</param>
- bool DoesAssetExist(IAssetName assetName);
+ bool DoesAssetExist<T>(IAssetName assetName);
/// <summary>Load an asset through the content pipeline, using a localized variant of the <paramref name="assetName"/> if available.</summary>
/// <typeparam name="T">The type of asset to load.</typeparam>
diff --git a/src/SMAPI/Framework/ContentManagers/ModContentManager.cs b/src/SMAPI/Framework/ContentManagers/ModContentManager.cs
index 375b5e0e..2a5a3f16 100644
--- a/src/SMAPI/Framework/ContentManagers/ModContentManager.cs
+++ b/src/SMAPI/Framework/ContentManagers/ModContentManager.cs
@@ -66,9 +66,9 @@ namespace StardewModdingAPI.Framework.ContentManagers
}
/// <inheritdoc />
- public override bool DoesAssetExist(IAssetName assetName)
+ public override bool DoesAssetExist<T>(IAssetName assetName)
{
- if (base.DoesAssetExist(assetName))
+ if (base.DoesAssetExist<T>(assetName))
return true;
FileInfo file = this.GetModFile(assetName.Name);