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); }
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); }