summaryrefslogtreecommitdiff
path: root/src/StardewModdingAPI/Framework/ModLoading/ModDependencyStatus.cs
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2017-05-14 21:19:27 -0400
committerJesse Plamondon-Willard <github@jplamondonw.com>2017-05-14 21:19:27 -0400
commit2d9aefebb0991b2e942241bf509eaa98f63b4963 (patch)
treed48c81fcb86afa922788190edd3b24c323cbbe91 /src/StardewModdingAPI/Framework/ModLoading/ModDependencyStatus.cs
parent07aadf36126bfadd5df624ccf810828adf679788 (diff)
downloadSMAPI-2d9aefebb0991b2e942241bf509eaa98f63b4963.tar.gz
SMAPI-2d9aefebb0991b2e942241bf509eaa98f63b4963.tar.bz2
SMAPI-2d9aefebb0991b2e942241bf509eaa98f63b4963.zip
rewrite dependency logic to resolve dependency loops by disabling the affected mods (#285)
Diffstat (limited to 'src/StardewModdingAPI/Framework/ModLoading/ModDependencyStatus.cs')
-rw-r--r--src/StardewModdingAPI/Framework/ModLoading/ModDependencyStatus.cs18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/StardewModdingAPI/Framework/ModLoading/ModDependencyStatus.cs b/src/StardewModdingAPI/Framework/ModLoading/ModDependencyStatus.cs
new file mode 100644
index 00000000..0774b487
--- /dev/null
+++ b/src/StardewModdingAPI/Framework/ModLoading/ModDependencyStatus.cs
@@ -0,0 +1,18 @@
+namespace StardewModdingAPI.Framework.ModLoading
+{
+ /// <summary>The status of a given mod in the dependency-sorting algorithm.</summary>
+ internal enum ModDependencyStatus
+ {
+ /// <summary>The mod hasn't been visited yet.</summary>
+ Queued,
+
+ /// <summary>The mod is currently being analysed as part of a dependency chain.</summary>
+ Checking,
+
+ /// <summary>The mod has already been sorted.</summary>
+ Sorted,
+
+ /// <summary>The mod couldn't be sorted due to a metadata issue (e.g. missing dependencies).</summary>
+ Failed
+ }
+}