rjw-quirks/RJW-Quirks/Modules/Shared/Selectors/Partner/LogicalNot.cs

35 lines
871 B
C#

using rjwquirks.Modules.Shared.PawnSelectors;
using System.Collections.Generic;
using Verse;
namespace rjwquirks.Modules.Shared.PartnerSelectors
{
public class LogicalNot : PartnerSelector
{
public IPartnerSelector negated;
public override bool PartnerSatisfies(Pawn pawn, Pawn partner) => !negated.PartnerSatisfies(pawn, partner);
public override IEnumerable<string> ConfigErrors()
{
foreach (string error in base.ConfigErrors())
{
yield return error;
}
if (negated == null)
{
yield return "<negated> is empty";
}
else
{
foreach (string error in negated.ConfigErrors())
{
yield return error;
}
}
}
}
}