private void bindTypes(MaterialI material, IDictionary values, List<MaterialFieldBinder> binders, string contentDirectory, Dictionary<string,string> fileExtOverrides, FoundBinderMethod handleFoundBinder)
{
if (binders == null) return;
var materialType = material.GetType();
foreach (var binder in binders)
{
if (binder.MaterialName == material.Name && values.Contains(binder.InputID))
{
#if WINRT
var materialField = materialType.GetTypeInfo().GetDeclaredField(binder.ShaderMaterialFieldName);
#else
var materialField = materialType.GetField(binder.ShaderMaterialFieldName);
#endif
if (materialField == null) Debug.ThrowError("Model", "Shader material field name does not exist: " + binder.ShaderMaterialFieldName);
if (handleFoundBinder != null) handleFoundBinder(material, materialField, values, binder, contentDirectory, fileExtOverrides);
}
}
}