public IFlockCollection AddBoid(HashSet <IFlockBoid> flock, IFlockBoid boid) { flock.Add(boid); if (!Flocks.Contains(flock)) { Flocks.Add(flock); } return(this); }
public HashSet <IFlockBoid> GetFlock(IFlockBoid boid) { foreach (var flock in Flocks) { if (flock.Contains(boid)) { return(flock); } } return(null); }
public IFlockCollection RemoveBoid(HashSet <IFlockBoid> flock, IFlockBoid boid) { flock.Remove(boid); return(this); }
public IFlockCollection RemoveBoid(IFlockBoid boid) { GetFlock(boid).Remove(boid); return(this); }