Exemple #1
0
        /// <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);
        }