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);
         }
     }
 }