public bool PropertiesGUI()
{
if (this.m_InsidePropertiesGUI)
{
Debug.LogWarning("PropertiesGUI() is being called recursivly. If you want to render the default gui for shader properties then call PropertiesDefaultGUI() instead");
return false;
}
EditorGUI.BeginChangeCheck();
MaterialProperty[] materialProperties = GetMaterialProperties(base.targets);
this.m_RendererForAnimationMode = PrepareMaterialPropertiesForAnimationMode(materialProperties, GUI.enabled);
bool enabled = GUI.enabled;
if (this.m_RendererForAnimationMode != null)
{
GUI.enabled = true;
}
this.m_InsidePropertiesGUI = true;
try
{
if (this.m_CustomShaderGUI != null)
{
this.m_CustomShaderGUI.OnGUI(this, materialProperties);
}
else
{
this.PropertiesDefaultGUI(materialProperties);
}
Renderer associatedRenderFromInspector = GetAssociatedRenderFromInspector();
if (associatedRenderFromInspector != null)
{
MaterialPropertyBlock dest = new MaterialPropertyBlock();
associatedRenderFromInspector.GetPropertyBlock(dest);
if (!dest.isEmpty)
{
EditorGUILayout.HelpBox(s_PropBlockWarning, MessageType.Warning);
}
}
}
catch (Exception)
{
GUI.enabled = enabled;
this.m_InsidePropertiesGUI = false;
this.m_RendererForAnimationMode = null;
throw;
}
GUI.enabled = enabled;
this.m_InsidePropertiesGUI = false;
this.m_RendererForAnimationMode = null;
return EditorGUI.EndChangeCheck();
}