public DialogueNode(int _nodeID, Vector2 pos, float width, float height, Action <NodeConnectionPoint> onClickedPoint, Action <DialogueNode> _onClickedRemoveNode, Action <DialogueNode> _onActorIDChanged) { nodeID = _nodeID; rect = new Rect(pos.x, pos.y, width, height); inPoint = new NodeConnectionPoint(this, ConnectionPointType.In, onClickedPoint); outPoint = new NodeConnectionPoint(this, ConnectionPointType.Out, onClickedPoint); onClickedRemoveNode = _onClickedRemoveNode; onActorIDChanged = _onActorIDChanged; }
private void NodeConnectionPointClicked(NodeConnectionPoint connectionPoint) { if (selectedConnectionPoint == null) { selectedConnectionPoint = connectionPoint; return; } if (selectedConnectionPoint.type != connectionPoint.type && selectedConnectionPoint.ownerNode != connectionPoint.ownerNode) { if (selectedConnectionPoint.type == ConnectionPointType.In) { AddNodeConnection(new NodeConnection(selectedConnectionPoint, connectionPoint, RemoveNodeConnection)); } else { AddNodeConnection(new NodeConnection(connectionPoint, selectedConnectionPoint, RemoveNodeConnection)); } ClearConnectionSelection(); } }
public NodeConnection(NodeConnectionPoint _inPoint, NodeConnectionPoint _outPoint, Action <NodeConnection> _onClickedRemoveConnection) { inPoint = _inPoint; outPoint = _outPoint; onClickedRemoveConnection = _onClickedRemoveConnection; }
private void ClearConnectionSelection() { selectedConnectionPoint = null; }