public PortView AddPort(FieldInfo fieldInfo, Direction direction, EdgeConnectorListener listener, PortData portData) { // TODO: hardcoded value PortView p = new PortView(Orientation.Horizontal, direction, fieldInfo, portData, listener); if (p.direction == Direction.Input) { inputPortViews.Add(p); inputContainer.Add(p); } else { outputPortViews.Add(p); outputContainer.Add(p); } p.Initialize(this, portData?.displayName); List <PortView> ports; portsPerFieldName.TryGetValue(p.fieldName, out ports); if (ports == null) { ports = new List <PortView>(); portsPerFieldName[p.fieldName] = ports; } ports.Add(p); return(p); }
public void Initialize(BaseGraph graph) { if (this.graph != null) { SaveGraphToDisk(); } this.graph = graph; connectorListener = new EdgeConnectorListener(this); // When pressing ctrl-s, we save the graph EditorSceneManager.sceneSaved += _ => SaveGraphToDisk(); InitializeGraphView(); InitializeNodeViews(); InitializeEdgeViews(); InitializeViews(); InitializeCommentBlocks(); UpdateComputeOrder(); initialized?.Invoke(); InitializeView(); }
public void Initialize(BaseGraph graph) { if (this.graph != null) { SaveGraphToDisk(); } this.graph = graph; connectorListener = new EdgeConnectorListener(this); InitializeNodeViews(); InitializeEdgeViews(); InitializeViews(); InitializeCommentBlocks(); UpdateComputeOrder(); }
public PortView(Orientation portOrientation, Direction direction, FieldInfo fieldInfo, EdgeConnectorListener edgeConnectorListener) : base(portOrientation, direction, Capacity.Multi, fieldInfo.FieldType) { AddStyleSheetPath("GraphProcessorStyles/PortView"); if (Resources.Load <UnityEngine.Object>(userPortStyleFile) != null) { AddStyleSheetPath(userPortStyleFile); } this.m_EdgeConnector = new EdgeConnector <EdgeView>(edgeConnectorListener); this.AddManipulator(m_EdgeConnector); fieldName = fieldInfo.Name; portType = fieldInfo.FieldType; this.fieldInfo = fieldInfo; this.listener = edgeConnectorListener; }
public PortView(Orientation orientation, Direction direction, FieldInfo fieldInfo, PortData portData, EdgeConnectorListener edgeConnectorListener) : base(orientation, direction, Capacity.Multi, portData.displayType ?? fieldInfo.FieldType) { styleSheets.Add(Resources.Load <StyleSheet>(portStyle)); var userPortStyle = Resources.Load <StyleSheet>(userPortStyleFile); if (userPortStyle != null) { styleSheets.Add(userPortStyle); } this.m_EdgeConnector = new EdgeConnector <EdgeView>(edgeConnectorListener); this.AddManipulator(m_EdgeConnector); this.fieldInfo = fieldInfo; this.listener = edgeConnectorListener; this.portType = portData.displayType ?? fieldInfo.FieldType; this.portData = portData; this.portName = fieldName; }
public PortView AddPort(FieldInfo fieldInfo, Direction direction, EdgeConnectorListener listener, bool isMultiple = false, string name = null) { // TODO: hardcoded value PortView p = new PortView(Orientation.Horizontal, direction, fieldInfo, listener); if (p.direction == Direction.Input) { inputPorts.Add(p); inputContainer.Add(p); } else { outputPorts.Add(p); outputContainer.Add(p); } p.Initialize(this, isMultiple, name); portsPerFieldName[p.fieldName] = p; return(p); }
public MultiPortBehavior(BaseNodeView nodeView, FieldInfo fieldInfo, Direction direction, EdgeConnectorListener listener, bool isMultiple, string name) { this.multiPorts = fieldInfo.GetValue(nodeView.nodeTarget) as MultiPorts; this.node = nodeView; this.fieldInfo = fieldInfo; this.direction = direction; this.listener = listener; this.isMultiple = isMultiple; this.name = name; // Initialize the MultiPort field if null if (multiPorts == null) { multiPorts = new MultiPorts(); fieldInfo.SetValue(nodeView.nodeTarget, multiPorts); } // Instantiate all ports needed to create the serialized connections // Minus one because we count our current instance for (int i = 0; i < multiPorts.portCount; i++) { AddPort(); } }
public DefaultPortBehavior(BaseNodeView nodeView, FieldInfo fieldInfo, Direction direction, EdgeConnectorListener listener, bool isMultiple, string name) { nodeView.AddPort(fieldInfo, direction, listener, isMultiple, name); }
public static void CreatePortBehavior(BaseNodeView nodeView, FieldInfo field, Direction direction, EdgeConnectorListener listener, bool isMultiple, string name) { Type behaviorType; portBehaviors.TryGetValue(field.FieldType, out behaviorType); if (behaviorType == null) { behaviorType = typeof(DefaultPortBehavior); } Activator.CreateInstance(behaviorType, nodeView, field, direction, listener, isMultiple, name); }