private static Offset <NodeFlowOutPortInfo> ConvertToRuntimeFlowOutPortInfo(FlatBufferBuilder fbb, FlowOutPortEditorView flowOutPort) { List <PortEditorView> connectionPortList = flowOutPort.connectedPortList; int connectionPortCount = connectionPortList.Count; NodeFlowOutPortInfo.StartTargetNodeIdsVector(fbb, connectionPortCount); for (int i = connectionPortCount - 1; i >= 0; i--) { PortEditorView targetPortView = connectionPortList[i]; fbb.AddInt(targetPortView.NodeView.NodeId); } VectorOffset offset = fbb.EndVector(); NodeFlowOutPortInfo.StartNodeFlowOutPortInfo(fbb); NodeFlowOutPortInfo.AddTargetNodeIds(fbb, offset); return(NodeFlowOutPortInfo.EndNodeFlowOutPortInfo(fbb)); }
public static void WriteFlowOutField(NodeBase nodeInstance, Type nodeType, NodeInfo nodeInfo) { int flowOutCount = nodeInfo.FlowOutPortInfosLength; int[][] flowOutTargetNodeId = new int[flowOutCount][]; for (int i = 0; i < flowOutCount; i++) { NodeFlowOutPortInfo flowOutPortInfo = nodeInfo.FlowOutPortInfos(i).Value; int flowOutPortConnectedNodeCount = flowOutPortInfo.TargetNodeIdsLength; flowOutTargetNodeId[i] = new int[flowOutPortConnectedNodeCount]; for (int j = 0; j < flowOutPortConnectedNodeCount; j++) { int connectedNodeId = flowOutPortInfo.TargetNodeIds(j); flowOutTargetNodeId[i][j] = connectedNodeId; } } nodeInstance.flowOutTargetNodeId = flowOutTargetNodeId; }