public override void OnGUI(MaterialEditor materialEditor, MaterialProperty[] properties) { base.OnGUI(materialEditor, properties); Material targetMat = (Material)materialEditor.target; if (tex != null) { targetMat.SetTexture("_MainTex", tex); } if (GUILayout.Button("Gradient Editor")) { Rect rect = new Rect(GUIUtility.GUIToScreenPoint(Event.current.mousePosition), new Vector2(100, 200)); GradientPopup popup = GradientPopup.InitPopup(this, rect, keys, gradient); if (keys == null || gradient == null) { popup.DefaultRamp(); } else { popup.InitializeColors(keys, gradient); } } }
static public GradientPopup InitPopup(ColorRampShaderGUI materialGUI, Rect rect, ColorKey[] k, Gradient g) { GradientPopup popup = CreateInstance <GradientPopup>(); //GradientPopup popup = (GradientPopup)EditorWindow.GetWindow(typeof(GradientPopup)); materialInstance = materialGUI; popup.InitializeGUI(); //popup.InitializeColors(k, g); popup.name = "ASDChildren"; popup.titleContent.text = "ffff"; popup.position = rect; popup.ShowUtility(); return(popup); }