public void Swap(Individual remove, Individual add) { if (remove.Type == IndividualType.Cooperator) { CooperatorGroup.Remove(remove); } else { DefectorGroup.Remove(remove); } if (add.Type == IndividualType.Cooperator) { CooperatorGroup.Add(add); } else { DefectorGroup.Add(add); } var index = AllIndividuals.IndexOf(remove); AllIndividuals[index] = add; }
public bool Remove(Individual individual) { AllIndividuals.Remove(individual); if (individual.Type == IndividualType.Cooperator) { return(CooperatorGroup.Remove(individual)); } return(DefectorGroup.Remove(individual)); }