public void DeregisterSteeringBehaviour(SteeringBehaviour2D behaviour)
 {
     SteeringBehaviours.Remove(behaviour);
     if (behaviour is ITargettedSteeringBehaviour)
     {
         TargettedSteeringBehaviours.Remove((ITargettedSteeringBehaviour)behaviour);
     }
     if (behaviour.RequiresNeighborList)
     {
         behavioursRequiringNeighbors--;
     }
 }
 public void RegisterSteeringBehaviour(SteeringBehaviour2D behaviour)
 {
     SteeringBehaviours.Add(behaviour);
     if (behaviour is ITargettedSteeringBehaviour)
     {
         TargettedSteeringBehaviours.Add((ITargettedSteeringBehaviour)behaviour);
     }
     if (behaviour.RequiresNeighborList)
     {
         behavioursRequiringNeighbors++;
     }
 }