445    {
  446        int left = 0;
  448        while ( left <= right )
  449        {
  450            int middle = (left + right) / 2;
  451            float middleValue = 
m_Targets.Get(middle).GetUtility();
 
  452            
  453            if ( middleValue == value )
  454                return middle;
  455            else if ( middleValue < value )
  456                right = middle - 1;
  457            else
  458                left = middle + 1;
  459        }
  460        
  461        return left;
  462    }
ref array< ref ActionTarget > m_Targets
selected & sorted targets by utility function