// The constructor needs to take the target pawn as an argument--the pawn to which the comps will be copied.
 public PawnCompsSaver(Pawn source, PawnCompRules rules)
 {
     this.comps = source.AllComps ?? new List <ThingComp>();
     this.Rules = rules ?? new PawnCompExclusionRules();
 }
 public PawnCompsSaver(IEnumerable <ThingComp> comps, PawnCompRules rules)
 {
     this.comps = new List <ThingComp>(comps);
     this.Rules = rules;
 }
 public PawnCompsLoader(Pawn target, PawnCompRules rules)
 {
     this.TargetPawn = target;
     this.Rules      = rules ?? new PawnCompInclusionRules();
 }