コード例 #1
0
        public override AINode GetTreeNode()
        {
            var           output   = base.GetTreeNode();
            Combinational combNode = output as Combinational;

            foreach (var childConnection in dynamicConnectionPorts.Where(x => x.direction == Direction.Out))
            {
                if (!childConnection.connected())
                {
                    continue;
                }
                EditorAINode graphNode = childConnection.connection(0).body as EditorAINode;
                combNode.subNodes.Add(graphNode.GetTreeNode());
            }
            return(output);
        }
コード例 #2
0
        public EditorAINode LoadCombinational(Combinational node)
        {
            EditorAICombinationalNode output = Node.Create(EditorAICombinationalNode.ID, Vector3.zero) as EditorAICombinationalNode;

            output.dataType = node.GetType().ToString();
            var clone = node.Clone() as Combinational;

            clone.subNodes = new List <AINode>();

            output.data = new GenericSerializable(output.dataType);
            output.data.SetObject(clone, nodeTypes);

            //load children
            foreach (var child in node.subNodes)
            {
                //load
                EditorAINode childNode = LoadNode(child);
                //attach
                output.PushChild(childNode);
            }

            return(output);
        }