/* We change the road mode according to Fine Road Tool */
        private static NetInfo FineRoadToolSelection(NetInfo prefab)
        {
            RoadAI roadAI = prefab.m_netAI as RoadAI;

            if (roadAI != null)
            {
                // If the user has manually selected underground/overground mode, we let it be
                if (!roadAI.IsUnderground() && !roadAI.IsOverground())
                {
                    switch (FineRoadTool.FineRoadTool.instance.mode)
                    {
                    case FineRoadTool.Mode.Ground:
                        return(roadAI.m_info);

                    case FineRoadTool.Mode.Elevated:
                    case FineRoadTool.Mode.Bridge:
                        if (roadAI.m_elevatedInfo != null)
                        {
                            return(roadAI.m_elevatedInfo);
                        }
                        break;

                    case FineRoadTool.Mode.Tunnel:
                        if (roadAI.m_tunnelInfo != null)
                        {
                            return(roadAI.m_tunnelInfo);
                        }
                        break;

                    case FineRoadTool.Mode.Normal:
                    case FineRoadTool.Mode.Single:
                        break;
                    }
                }
            }

            PedestrianPathAI pedestrianAI = prefab.m_netAI as PedestrianPathAI;

            if (pedestrianAI != null)
            {
                // If the user has manually selected underground/overground mode, we let it be
                if (!pedestrianAI.IsUnderground() && !pedestrianAI.IsOverground())
                {
                    switch (FineRoadTool.FineRoadTool.instance.mode)
                    {
                    case FineRoadTool.Mode.Ground:
                        return(pedestrianAI.m_info);

                    case FineRoadTool.Mode.Elevated:
                    case FineRoadTool.Mode.Bridge:
                        if (pedestrianAI.m_elevatedInfo != null)
                        {
                            return(pedestrianAI.m_elevatedInfo);
                        }
                        break;

                    case FineRoadTool.Mode.Tunnel:
                        if (pedestrianAI.m_tunnelInfo != null)
                        {
                            return(pedestrianAI.m_tunnelInfo);
                        }
                        break;

                    case FineRoadTool.Mode.Normal:
                    case FineRoadTool.Mode.Single:
                        break;
                    }
                }
            }

            return(prefab);
        }