public static void Postfix(ResearchProjectDef __instance, ResearchProjectTagDef tag, ref bool __result)
 {
     // 'Greylist' certain research projects based on start tags - just saves XML work
     if (__result)
     {
         var researchProjectDefExtension = ResearchProjectDefExtension.Get(__instance);
         if (!researchProjectDefExtension.greylistedTags.NullOrEmpty() && researchProjectDefExtension.greylistedTags.Contains(tag))
         {
             __result = false;
         }
     }
 }
Beispiel #2
0
 private static bool AutoCompleteResearch(bool original, ResearchProjectDef research)
 {
     if (original && research != null)
     {
         // Check the faction def starting tags and research DefModExtension greylist tags; return false if there are any matches
         var researchProjectDefExtension = ResearchProjectDefExtension.Get(research);
         if (!researchProjectDefExtension.greylistedTags.NullOrEmpty())
         {
             var startingTags = Faction.OfPlayer.def.startingResearchTags;
             return(!startingTags.Any(t => researchProjectDefExtension.greylistedTags.Contains(t)));
         }
     }
     return(original);
 }