private static ZeroIndexLineSearcher GetLineSearcher(DrawMode mode)
{
if (lineSearcherDict == null)
{
var dict = new Dictionary<DrawMode, ZeroIndexLineSearcher>();
dict.Add(DrawMode.Triangles, new ZeroIndexLineInTriangleSearcher());
dict.Add(DrawMode.TrianglesAdjacency, new ZeroIndexLineInTrianglesAdjacencySearcher());
dict.Add(DrawMode.TriangleStrip, new ZeroIndexLineInTriangleStripSearcher());
dict.Add(DrawMode.TriangleStripAdjacency, new ZeroIndexLineInTriangleStripAdjacencySearcher());
dict.Add(DrawMode.TriangleFan, new ZeroIndexLineInTriangleFanSearcher());
dict.Add(DrawMode.Quads, new ZeroIndexLineInQuadSearcher());
dict.Add(DrawMode.QuadStrip, new ZeroIndexLineInQuadStripSearcher());
dict.Add(DrawMode.Polygon, new ZeroIndexLineInPolygonSearcher());
lineSearcherDict = dict;
}
ZeroIndexLineSearcher result = null;
if (lineSearcherDict.TryGetValue(mode, out result))
{ return result; }
else
{ return null; }
}