/// <summary> /// Find nearest worm. Used by player to posess worms. /// </summary> /// <param name="position">Player position</param> /// <param name="range">Maximum distance from position to worm</param> /// <returns>Worm or null</returns> public Worm NearestWorm(Vector2 position, float range) { Worm nearestWorm = null; float nearestDistance = range; foreach (Worm worm in worms) { if (worm.Active) { float distance = Vector2.Distance(position, worm.firstModule.Target); if (distance < nearestDistance) { nearestWorm = worm; nearestDistance = distance; } } } return(nearestWorm); }