diff options
author | Jesse Plamondon-Willard <Pathoschild@users.noreply.github.com> | 2022-03-27 12:16:28 -0400 |
---|---|---|
committer | Jesse Plamondon-Willard <Pathoschild@users.noreply.github.com> | 2022-03-27 12:16:28 -0400 |
commit | d864f2ed775dfd5843b9e1cdd1da96ade5dd1068 (patch) | |
tree | 0c5d14bb6e1febc82a1d4cebaf46c44b83f46026 /src/SMAPI/Framework/ContentManagers | |
parent | 03efea26676464933513383eb1c841f1ca5db34d (diff) | |
download | SMAPI-d864f2ed775dfd5843b9e1cdd1da96ade5dd1068.tar.gz SMAPI-d864f2ed775dfd5843b9e1cdd1da96ade5dd1068.tar.bz2 SMAPI-d864f2ed775dfd5843b9e1cdd1da96ade5dd1068.zip |
add asset type to AssetRequested event (#766)
Diffstat (limited to 'src/SMAPI/Framework/ContentManagers')
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); |