private static void SetMaterialKeywords(Material material, WorkflowMode workflowMode)
{
SetKeyword(material, "_NORMALMAP", (material.GetTexture("_BumpMap") != null) || ((bool) material.GetTexture("_DetailNormalMap")));
if (workflowMode == WorkflowMode.Specular)
{
SetKeyword(material, "_SPECGLOSSMAP", (bool) material.GetTexture("_SpecGlossMap"));
}
else if (workflowMode == WorkflowMode.Metallic)
{
SetKeyword(material, "_METALLICGLOSSMAP", (bool) material.GetTexture("_MetallicGlossMap"));
}
SetKeyword(material, "_PARALLAXMAP", (bool) material.GetTexture("_ParallaxMap"));
SetKeyword(material, "_DETAIL_MULX2", (material.GetTexture("_DetailAlbedoMap") != null) || ((bool) material.GetTexture("_DetailNormalMap")));
bool state = ShouldEmissionBeEnabled(material, material.GetColor("_EmissionColor"));
SetKeyword(material, "_EMISSION", state);
if (material.HasProperty("_SmoothnessTextureChannel"))
{
SetKeyword(material, "_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A", GetSmoothnessMapChannel(material) == SmoothnessMapChannel.AlbedoAlpha);
}
MaterialGlobalIlluminationFlags globalIlluminationFlags = material.globalIlluminationFlags;
if ((globalIlluminationFlags & (MaterialGlobalIlluminationFlags.BakedEmissive | MaterialGlobalIlluminationFlags.RealtimeEmissive)) != MaterialGlobalIlluminationFlags.None)
{
globalIlluminationFlags &= ~MaterialGlobalIlluminationFlags.EmissiveIsBlack;
if (!state)
{
globalIlluminationFlags |= MaterialGlobalIlluminationFlags.EmissiveIsBlack;
}
material.globalIlluminationFlags = globalIlluminationFlags;
}
}