using RimWorld; using System.Collections.Generic; using Verse; namespace rjwquirks.Modules.Shared.PartnerSelectors { public class HasOneOfRelations : PartnerSelector { public List relations; private HashSet relationsHashSet; public override bool PartnerSatisfies(Pawn pawn, Pawn partner) { if (relationsHashSet == null) { relationsHashSet = new HashSet(relations); } IEnumerable pawnRelations = pawn.GetRelations(partner); if (pawnRelations.EnumerableNullOrEmpty()) { return false; } if (!relationsHashSet.Overlaps(pawnRelations)) { return false; } return true; } public override IEnumerable ConfigErrors() { foreach (string error in base.ConfigErrors()) { yield return error; } if (relations.NullOrEmpty()) { yield return " is empty"; } } } }