summaryrefslogtreecommitdiff
path: root/src/SMAPI/IModRegistry.cs
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2017-12-16 00:31:31 -0500
committerJesse Plamondon-Willard <github@jplamondonw.com>2017-12-16 00:31:31 -0500
commit6a4dc7e7d1dddb54264856102540d205bc6c3509 (patch)
treedb53e648d6ce2f155e19d307bb60abbd14e8ca96 /src/SMAPI/IModRegistry.cs
parent69c9ab0ecd184e4706a8e6394b38fa592cb808d0 (diff)
parent4c3ae950c6be0840e98d1328eeca9effca9c3807 (diff)
downloadSMAPI-6a4dc7e7d1dddb54264856102540d205bc6c3509.tar.gz
SMAPI-6a4dc7e7d1dddb54264856102540d205bc6c3509.tar.bz2
SMAPI-6a4dc7e7d1dddb54264856102540d205bc6c3509.zip
Merge branch 'feature/mod-provided-apis' into develop
Diffstat (limited to 'src/SMAPI/IModRegistry.cs')
-rw-r--r--src/SMAPI/IModRegistry.cs13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/SMAPI/IModRegistry.cs b/src/SMAPI/IModRegistry.cs
index 5ef3fd65..a06e099e 100644
--- a/src/SMAPI/IModRegistry.cs
+++ b/src/SMAPI/IModRegistry.cs
@@ -1,4 +1,4 @@
-using System.Collections.Generic;
+using System.Collections.Generic;
namespace StardewModdingAPI
{
@@ -16,5 +16,14 @@ namespace StardewModdingAPI
/// <summary>Get whether a mod has been loaded.</summary>
/// <param name="uniqueID">The mod's unique ID.</param>
bool IsLoaded(string uniqueID);
+
+ /// <summary>Get the API provided by a mod, or <c>null</c> if it has none. This signature requires using the <see cref="IModHelper.Reflection"/> API to access the API's properties and methods.</summary>
+ /// <param name="uniqueID">The mod's unique ID.</param>
+ object GetApi(string uniqueID);
+
+ /// <summary>Get the API provided by a mod, mapped to a given interface which specifies the expected properties and methods. If the mod has no API or it's not compatible with the given interface, get <c>null</c>.</summary>
+ /// <typeparam name="TInterface">The interface which matches the properties and methods you intend to access.</typeparam>
+ /// <param name="uniqueID">The mod's unique ID.</param>
+ TInterface GetApi<TInterface>(string uniqueID) where TInterface : class;
}
-} \ No newline at end of file
+}