public void OnGUI()
{
if (mat == null || mat.Material == null)
{
return;
}
IsOpen = EditorGUILayout.Foldout(IsOpen, mat.Material.name);
if (IsOpen && Editor == null)
{
Editor = UnityEditor.Editor.CreateEditor(mat.Material, typeof(MaterialEditor));
}
if (!IsOpen && Editor != null)
{
Destroy();
return;
}
if (IsOpen)
{
EditorGUILayout.LabelField(mat.Material.shader.name);
Editor.OnInteractivePreviewGUI(
GUILayoutUtility.GetRect(EditorGUIUtility.currentViewWidth - 32, 128), EditorStyles.helpBox);
}
}