private void ShaderPopup(GUIStyle style)
{
bool enabled = GUI.enabled;
Rect position = EditorGUI.PrefixLabel(EditorGUILayout.GetControlRect(new GUILayoutOption[0]), 0xb919, EditorGUIUtility.TempContent("Shader"));
EditorGUI.showMixedValue = this.HasMultipleMixedShaderValues();
GUIContent content = EditorGUIUtility.TempContent((this.m_Shader == null) ? "No Shader Selected" : this.m_Shader.name);
if (EditorGUI.ButtonMouseDown(position, content, EditorGUIUtility.native, style))
{
EditorGUI.showMixedValue = false;
Vector2 vector = GUIUtility.GUIToScreenPoint(new Vector2(position.x, position.y));
InternalEditorUtility.SetupShaderMenu(this.target as Material);
EditorUtility.Internal_DisplayPopupMenu(new Rect(vector.x, vector.y, position.width, position.height), "CONTEXT/ShaderPopup", this, 0);
Event.current.Use();
}
EditorGUI.showMixedValue = false;
GUI.enabled = enabled;
}