Reign.Video.Abstraction.Model.bindTypes C# (CSharp) Method

bindTypes() private method

private bindTypes ( MaterialI material, IDictionary values, List binders, string contentDirectory, string>.Dictionary fileExtOverrides, FoundBinderMethod handleFoundBinder ) : void
material MaterialI
values IDictionary
binders List
contentDirectory string
fileExtOverrides string>.Dictionary
handleFoundBinder FoundBinderMethod
return void
		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);
				}
			}
		}