public List <string> UnsatisfiedDependencies() { unsatisfiedDepsList.Clear(); for (int i = 0; i < Dependencies.Count; i++) { ModDependency modDependency = Dependencies[i]; if (!modDependency.IsSatisfied) { unsatisfiedDepsList.Add(modDependency.displayName); } } return(unsatisfiedDepsList); }
public void ValidateDependencies_NewTmp(bool logIssues = true) { for (int num = modDependencies.Count - 1; num >= 0; num--) { bool flag = false; ModDependency modDependency = modDependencies[num]; if (modDependency.packageId.NullOrEmpty()) { if (logIssues) { Log.Warning("Mod " + name + " has a dependency with no <packageId> specified."); } flag = true; } else if (!PackageIdFormatRegex.IsMatch(modDependency.packageId)) { if (logIssues) { Log.Warning("Mod " + name + " has a dependency with invalid <packageId>: " + modDependency.packageId); } flag = true; } if (modDependency.displayName.NullOrEmpty()) { if (logIssues) { Log.Warning("Mod " + name + " has a dependency (" + modDependency.packageId + ") with empty display name."); } flag = true; } if (modDependency.downloadUrl.NullOrEmpty() && modDependency.steamWorkshopUrl.NullOrEmpty() && !modDependency.packageId.ToLower().Contains(ModContentPack.LudeonPackageIdAuthor)) { if (logIssues) { Log.Warning("Mod " + name + " dependency (" + modDependency.packageId + ") needs to have <downloadUrl> and/or <steamWorkshopUrl> specified."); } flag = true; } if (flag) { modDependencies.Remove(modDependency); } } }