internal void CalculateInfluences()
        {
            var neighbours = IdentifyNeighbours(Neighbours, Influences.Alignment.Range);
            var flockBoids = neighbours as IFlockBoid[] ?? neighbours.ToArray();
            var alignment  = new FlockInfluence(CalculateFlockAlignment(flockBoids), Influences.Alignment.Range, Influences.Alignment.Weight);
            var cohesion   = new FlockInfluence(CalculateFlockCohesion(flockBoids), Influences.Cohesion.Range, Influences.Cohesion.Weight);
            var separation = new FlockInfluence(CalculateFlockSeparation(flockBoids), Influences.Separation.Range, Influences.Separation.Weight);

            Influences = new FlockInfluences(alignment, cohesion, separation);
        }
 public FlockInfluences(FlockInfluence alignment, FlockInfluence cohesion, FlockInfluence separation)
 {
     Alignment  = alignment;
     Cohesion   = cohesion;
     Separation = separation;
 }