private static void _removeAbortionMotherInHeroPregnancies(Hero hero) { if (hero == null) { return; } PregnancyControlBehavior pregnancyControlInst = Utillty.GetPregnancyControlBehaviorInstance(); if (pregnancyControlInst == null || !pregnancyControlInst.PreAbortionMap.ContainsKey(hero)) { return; } object pregnanciesObject = PregCampHelper.GetHeroPregnanciesObject(); if (pregnanciesObject == null) { return; } MethodInfo pregnanciesMethodInfo = PregCampHelper.GetHeroPregnanciesMethodInfo("RemoveAll"); if (pregnanciesMethodInfo == (MethodInfo)null) { return; } Predicate <object> predicate = (Predicate <object>)(pregnancyObj => PregnancyCheckOffspringsToDeliverPatch._removeAbortionMotherPredicate(ref pregnancyControlInst, hero, pregnancyObj)); Utillty.DebugDisplayMessage("_removeAbortionMotherInHeroPregnancies Success! RemoveNums : " + ((int)pregnanciesMethodInfo.Invoke(pregnanciesObject, new object[1] { (object)predicate })).ToString()); pregnancyControlInst.CleanPreAbortionList(); }
public static bool Prefix(PregnancyCampaignBehavior __instance, ref Hero hero) { PregnancyCheckOffspringsToDeliverPatch._removeAbortionMotherInHeroPregnancies(hero); return(true); }