public override void NodeGUI() { GUILayout.Space(5); GUILayout.BeginVertical("Box"); GUILayout.Label(new GUIContent("Data to Test", tooltip_data), NodeEditorGUI.nodeLabelBoldCentered); GUILayout.BeginHorizontal(); exprType = (controlExpressionType)RTEditorGUI.EnumPopup(exprType, GUILayout.Width(75)); if (exprType == controlExpressionType.Variable) { variableName = GUILayout.TextField(variableName, GUILayout.Width(200f)); } GUILayout.Space(5); GUILayout.EndHorizontal(); GUILayout.EndVertical(); GUILayout.BeginVertical(); if (listGUI == null) { RKnobListGUI <BranchCase> .ElementGUI eGUI = (elt, rect) => { #if UNITY_EDITOR float xOffset = 0; Rect UIrect = new Rect(rect.x, rect.y + 2, 60, RTEditorGUI.lineHeight); elt.type = (BranchCase.CaseType)EditorGUI.EnumPopup(UIrect, GUIContent.none, elt.type); xOffset += (UIrect.width + 2); UIrect = new Rect(rect.x + xOffset, rect.y + 1, 170, RTEditorGUI.lineHeight); elt.pattern = GUI.TextField(UIrect, elt.pattern); xOffset += (UIrect.width + 2); UIrect = new Rect(rect.x + xOffset, rect.y + 1, 20, RTEditorGUI.lineHeight); xOffset += (UIrect.width + 2); UIrect = new Rect(rect.x + xOffset, rect.y + 1, 20, RTEditorGUI.lineHeight); #endif }; listGUI = new RKnobListGUI <BranchCase>(cases, new GUIContent("Branch Cases"), eGUI, (elt) => RTEditorGUI.lineHeight, (item) => new ConnectionKnob[] { item.connection }, (item, rect) => item.connection.SetPosition(rect.yMin + (NodeEditorGUI.knobSize * 2) - 3), () => new BranchCase(this)); } listGUI.DoLayoutList(); GUILayout.EndVertical(); GUILayout.BeginVertical("Box"); GUILayout.Label(new GUIContent("Default Branch", tooltip_branch_default), NodeEditorGUI.nodeLabelBoldCentered); toDefaultBranch.SetPosition(); GUILayout.EndVertical(); }