CSharpGL.OneIndexRenderer.GetPointSearcher C# (CSharp) Method

GetPointSearcher() private static method

private static GetPointSearcher ( DrawMode mode ) : OneIndexPointSearcher
mode DrawMode
return OneIndexPointSearcher
        private static OneIndexPointSearcher GetPointSearcher(DrawMode mode)
        {
            if (pointSearcherDict == null)
            {
                var triangle = new OneIndexPointInTriangleSearcher();
                var quad = new OneIndexPointInQuadSearcher();
                var polygon = new OneIndexPointInPolygonSearcher();
                var dict = new Dictionary<DrawMode, OneIndexPointSearcher>();
                dict.Add(DrawMode.Triangles, triangle);
                dict.Add(DrawMode.TrianglesAdjacency, triangle);
                dict.Add(DrawMode.TriangleStrip, triangle);
                dict.Add(DrawMode.TriangleStripAdjacency, triangle);
                dict.Add(DrawMode.TriangleFan, triangle);
                dict.Add(DrawMode.Quads, quad);
                dict.Add(DrawMode.QuadStrip, quad);
                dict.Add(DrawMode.Polygon, polygon);

                pointSearcherDict = dict;
            }

            OneIndexPointSearcher result = null;
            if (pointSearcherDict.TryGetValue(mode, out result))
            { return result; }
            else
            { return null; }
        }
    }