public override void OnBodyGUI() { GUI.color = Color.white; NodeEditorGUILayout.PortPair(target.GetInputPort("enter"), target.GetOutputPort("exit")); Rect rect = GUILayoutUtility.GetLastRect(); rect.x += (rect.width * 0.5f) - 50; rect.width = 100; EditorGUI.PropertyField(rect, serializedObject.FindProperty("device"), GUIContent.none); GUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Repeats:", GUILayout.Width(60)); node.repeats = EditorGUILayout.IntField(node.repeats, GUILayout.Width(33)); EditorGUILayout.Space(); EditorGUILayout.LabelField("Random:", GUILayout.Width(60)); node.random = EditorGUILayout.Toggle(node.random); GUILayout.EndHorizontal(); // Display the String valueIn port. NodePort valueInPort = node.GetInputPort("stringIn"); if (valueInPort.IsConnected) { // Display an uneditable input value if connected EditorGUI.BeginDisabledGroup(true); EditorGUILayout.TextField(serializedObject.FindProperty("stringIn").displayName, valueInPort.GetInputValue <string>()); EditorGUI.EndDisabledGroup(); NodeEditorGUILayout.AddPortField(valueInPort); } else { NodeEditorGUILayout.PropertyField(serializedObject.FindProperty("stringIn"), valueInPort, true); } // Display the Float valueIn port. NodePort fltValueInPort = node.GetInputPort("floatIn"); if (fltValueInPort.IsConnected) { // Display an uneditable input value if connected EditorGUI.BeginDisabledGroup(true); EditorGUILayout.FloatField(serializedObject.FindProperty("floatIn").displayName, fltValueInPort.GetInputValue <float>()); EditorGUI.EndDisabledGroup(); NodeEditorGUILayout.AddPortField(fltValueInPort); } else { NodeEditorGUILayout.PropertyField(serializedObject.FindProperty("floatIn"), fltValueInPort, true); } // Actions list NodeEditorGUILayout.InstancePortList("actions", typeof(Action), serializedObject, NodePort.IO.Input, Node.ConnectionType.Override, Node.TypeConstraint.Strict, OnCreateReorderableList); serializedObject.ApplyModifiedProperties(); serializedObject.Update(); // Footer DrawFooterGUI(); }
public override void OnBodyGUI() { GUI.color = Color.white; NodeEditorGUILayout.PortPair(target.GetInputPort("enter"), target.GetOutputPort("exit")); EditorGUILayout.PropertyField(serializedObject.FindProperty("subGraph"), GUIContent.none); DrawFooterGUI(); }
public static void DrawPortPairField( this INode node, INodePort input, INodePort output, NodeGuiLayoutStyle intputStyle, NodeGuiLayoutStyle outputStyle) { NodeEditorGUILayout.PortPair(input, output, intputStyle, outputStyle); }
//No longer neccessary since xNode does this automaticall now private void DrawInstanceDynamicPorts() { if (node.method.ReturnType == typeof(void)) { NodeEditorGUILayout.PortField(new GUIContent("Target"), node.GetInputPort("Target")); } else { NodeEditorGUILayout.PortPair(node.GetInputPort("Target"), node.GetOutputPort("Return")); } }
public override void OnBodyGUI() { base.OnBodyGUI(); var inputs = target.InstanceInputs.ToArray(); var outputs = target.InstanceOutputs.ToArray(); for (var i = 0; i < Math.Min(inputs.Length, outputs.Length); i++) { NodeEditorGUILayout.PortPair(inputs[i], outputs[i]); } for (var i = outputs.Length; i < inputs.Length; i++) { NodeEditorGUILayout.PortField(inputs[i]); } for (var i = inputs.Length; i < outputs.Length; i++) { NodeEditorGUILayout.PortField(outputs[i]); } }
public override void OnBodyGUI() { GUI.color = Color.white; NodeEditorGUILayout.PortPair(target.GetInputPort("enter"), target.GetOutputPort("exit")); DrawFooterGUI(); }