Пример #1
0
        public virtual void VisitConditionNode <T>(TContext context, ConditionNode <T> node)
            where T : class
        {
            VisitAlphaMemoryNode(context, node.MemoryNode);

            foreach (var childNode in node.GetChildNodes <INode>())
            {
                childNode.Accept(this, context);
            }
        }
        public override void VisitConditionNode <T>(GraphContext context, ConditionNode <T> node)
        {
            var nodeInfo = new Node(Interlocked.Increment(ref _id), node, typeof(T), "condition");

            context.Add(nodeInfo);
            context.Link(nodeInfo, new Node(-1, node.MemoryNode, typeof(T), ""));

            foreach (var childNode in node.GetChildNodes <INode>())
            {
                context.Link(nodeInfo, new Node(-1, childNode, typeof(T), ""));
            }

            base.VisitConditionNode(context, node);
        }