private void LoadVertexLayoutsByXPathNavigator(XPathNavigator navigator) { //material definitions XPathNodeIterator vertexLayouts; try { vertexLayouts = navigator.Select("/Object/Array[@Name='InputLayouts']/Object[@Class='InputLayout']"); } catch (Exception) { return; } while (vertexLayouts.MoveNext()) { VertexLayout vertexLayout = VertexLayout.LoadFromXPathNavigator(vertexLayouts.Current); if (vertexLayout != null && false == VertexLayouts.ContainsKey(vertexLayout.NameHash)) { VertexLayouts.Add(vertexLayout.NameHash, vertexLayout); } } }