public bool Overlaps(WeaponTraitDef other) { if (other == this) { return(true); } if (exclusionTags.NullOrEmpty() || other.exclusionTags.NullOrEmpty()) { return(false); } return(exclusionTags.Any((string x) => other.exclusionTags.Contains(x))); }
private bool CanAddTrait(WeaponTraitDef trait) { if (!traits.NullOrEmpty()) { for (int i = 0; i < traits.Count; i++) { if (trait.Overlaps(traits[i])) { return(false); } } } return(true); }