summaryrefslogtreecommitdiff
path: root/src/StardewModdingAPI.Toolkit/Framework/ModData/ModDatabase.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/StardewModdingAPI.Toolkit/Framework/ModData/ModDatabase.cs')
-rw-r--r--src/StardewModdingAPI.Toolkit/Framework/ModData/ModDatabase.cs65
1 files changed, 0 insertions, 65 deletions
diff --git a/src/StardewModdingAPI.Toolkit/Framework/ModData/ModDatabase.cs b/src/StardewModdingAPI.Toolkit/Framework/ModData/ModDatabase.cs
deleted file mode 100644
index a9da884a..00000000
--- a/src/StardewModdingAPI.Toolkit/Framework/ModData/ModDatabase.cs
+++ /dev/null
@@ -1,65 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-
-namespace StardewModdingAPI.Toolkit.Framework.ModData
-{
- /// <summary>Handles access to SMAPI's internal mod metadata list.</summary>
- public class ModDatabase
- {
- /*********
- ** Fields
- *********/
- /// <summary>The underlying mod data records indexed by default display name.</summary>
- private readonly ModDataRecord[] Records;
-
- /// <summary>Get an update URL for an update key (if valid).</summary>
- private readonly Func<string, string> GetUpdateUrl;
-
-
- /*********
- ** Public methods
- *********/
- /// <summary>Construct an empty instance.</summary>
- public ModDatabase()
- : this(new ModDataRecord[0], key => null) { }
-
- /// <summary>Construct an instance.</summary>
- /// <param name="records">The underlying mod data records indexed by default display name.</param>
- /// <param name="getUpdateUrl">Get an update URL for an update key (if valid).</param>
- public ModDatabase(IEnumerable<ModDataRecord> records, Func<string, string> getUpdateUrl)
- {
- this.Records = records.ToArray();
- this.GetUpdateUrl = getUpdateUrl;
- }
-
- /// <summary>Get all mod data records.</summary>
- public IEnumerable<ModDataRecord> GetAll()
- {
- return this.Records;
- }
-
- /// <summary>Get a mod data record.</summary>
- /// <param name="modID">The unique mod ID.</param>
- public ModDataRecord Get(string modID)
- {
- return !string.IsNullOrWhiteSpace(modID)
- ? this.Records.FirstOrDefault(p => p.HasID(modID))
- : null;
- }
-
- /// <summary>Get the mod page URL for a mod (if available).</summary>
- /// <param name="id">The unique mod ID.</param>
- public string GetModPageUrlFor(string id)
- {
- // get update key
- ModDataRecord record = this.Get(id);
- ModDataField updateKeyField = record?.Fields.FirstOrDefault(p => p.Key == ModDataFieldKey.UpdateKey);
- if (updateKeyField == null)
- return null;
-
- // get update URL
- return this.GetUpdateUrl(updateKeyField.Value);
- }
- }
-}