summaryrefslogtreecommitdiff
path: root/src/SMAPI/Framework
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2018-02-16 23:02:04 -0500
committerJesse Plamondon-Willard <github@jplamondonw.com>2018-02-16 23:02:04 -0500
commit9b3dd42cbf62a8524ac390d9418cf961c502868a (patch)
tree3f87447cc6e2e8b370701eb8e95ba6622393b9b3 /src/SMAPI/Framework
parentd926133608b227add19f0aa711bf3efb5da5f0bd (diff)
downloadSMAPI-9b3dd42cbf62a8524ac390d9418cf961c502868a.tar.gz
SMAPI-9b3dd42cbf62a8524ac390d9418cf961c502868a.tar.bz2
SMAPI-9b3dd42cbf62a8524ac390d9418cf961c502868a.zip
encapsulate update key to URL logic for reuse (#437)
Diffstat (limited to 'src/SMAPI/Framework')
-rw-r--r--src/SMAPI/Framework/ModLoading/ModResolver.cs16
1 files changed, 5 insertions, 11 deletions
diff --git a/src/SMAPI/Framework/ModLoading/ModResolver.cs b/src/SMAPI/Framework/ModLoading/ModResolver.cs
index 09a9299e..99d86bf8 100644
--- a/src/SMAPI/Framework/ModLoading/ModResolver.cs
+++ b/src/SMAPI/Framework/ModLoading/ModResolver.cs
@@ -73,8 +73,8 @@ namespace StardewModdingAPI.Framework.ModLoading
/// <summary>Validate manifest metadata.</summary>
/// <param name="mods">The mod manifests to validate.</param>
/// <param name="apiVersion">The current SMAPI version.</param>
- /// <param name="vendorModUrls">Maps vendor keys (like <c>Nexus</c>) to their mod URL template (where <c>{0}</c> is the mod ID).</param>
- public void ValidateManifests(IEnumerable<IModMetadata> mods, ISemanticVersion apiVersion, IDictionary<string, string> vendorModUrls)
+ /// <param name="getUpdateUrl">Get an update URL for an update key (if valid).</param>
+ public void ValidateManifests(IEnumerable<IModMetadata> mods, ISemanticVersion apiVersion, Func<string, string> getUpdateUrl)
{
mods = mods.ToArray();
@@ -101,15 +101,9 @@ namespace StardewModdingAPI.Framework.ModLoading
List<string> updateUrls = new List<string>();
foreach (string key in mod.Manifest.UpdateKeys ?? new string[0])
{
- string[] parts = key.Split(new[] { ':' }, 2);
- if (parts.Length != 2)
- continue;
-
- string vendorKey = parts[0].Trim();
- string modID = parts[1].Trim();
-
- if (vendorModUrls.TryGetValue(vendorKey, out string urlTemplate))
- updateUrls.Add(string.Format(urlTemplate, modID));
+ string url = getUpdateUrl(key);
+ if (url != null)
+ updateUrls.Add(url);
}
if (mod.DataRecord.AlternativeUrl != null)
updateUrls.Add(mod.DataRecord.AlternativeUrl);