using System; using System.Collections.Generic; using UnityEngine.MaterialGraph; using RMGUI.GraphView; using UnityEditor.Graphing.Drawing; using UnityEngine; namespace UnityEditor.MaterialGraph.Drawing { [Serializable] class AddManyContolPresenter : GraphControlPresenter { public override void OnGUIHandler() { base.OnGUIHandler(); var addNode = node as UnityEngine.MaterialGraph.AddManyNode; if (addNode == null) return; if (GUILayout.Button("Add Slot")) { addNode.AddInputSlot(); addNode.OnModified(); } if (GUILayout.Button("Remove Slot")) { addNode.RemoveInputSlot(); addNode.OnModified(); } } public override float GetHeight() { return EditorGUIUtility.singleLineHeight * 2 + 10 * EditorGUIUtility.standardVerticalSpacing; } } [Serializable] public class AddManyNodePresenter : MaterialNodePresenter { protected override IEnumerable GetControlData() { var instance = CreateInstance(); instance.Initialize(node); return new List { instance }; } } }