Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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;
        }