Esempio n. 1
0
        internal override void BeginPersonnalizeSetup()
        {
            mNode = (CompareNode)node;

            splat      = SplatMenu.Create(this, new string[] { "" }, OnSelect, new Vector2(100f, 100f), 150f, doStart);
            oldActions = mNode.availableActions;
        }
        public override bool Visit <T, TProperty>(CompareNode <T, TProperty> node, Func <RuntimeVisitor, bool> next)
        {
            Append("CompareNode[{0},{1}] {2} {3}", Tokens <T>(), typeof(TProperty).GetShortName(), node.Comparator.ToString(),
                   node.Value.ToString());

            return(Indent(next));
        }
        public override bool Visit <T, TProperty>(PropertyLessThanOrEqualCondition <T, TProperty> condition,
                                                  Func <SemanticVisitor, bool> next)
        {
            CompareNode <T, TProperty> compareNode = _configurator.LessThanOrEqual <T, TProperty>(condition.Value);

            AddCompareCondition(condition.PropertyExpression, compareNode);

            return(base.Visit(condition, next));
        }
        public override bool Visit <T, TProperty>(CompareNode <T, TProperty> node, Func <RuntimeVisitor, bool> next)
        {
            _current = _vertices.Get(node.Id, id => new Vertex(typeof(CompareNode <,>), typeof(Token <T, TProperty>),
                                                               string.Format("{0} {1}", node.Comparator, node.Value)));

            if (_stack.Count > 0)
            {
                _edges.Add(new Edge(_stack.Peek(), _current, _current.TargetType.Name));
            }

            return(Next(() => base.Visit(node, next)));
        }
Esempio n. 5
0
        /*
         *  var firstTryNode = new ActionNode(delegate(List<IntColor> colors, List<Color> badColors)
                {
                    var sum = colors.Sum(color => color.Value);
                    return sum < 5 ? (Color) null : new IntColor(sum);
                });
            var secondTryNode = new ActionNode(delegate(List<IntColor> colors, List<Color> badColors)
            {
                var sum = colors.Sum(color => color.Value);
                return sum < 10 ? (Color)null : new IntColor(sum);
            });
         */
        static string Compare(int x, int compareWith)
        {
            var xPoint = new OutPoint(new IntColor(x)) { Name = "xPoint" };
            var compareWithPoint = new OutPoint(new IntColor(compareWith)) { Name = "compareWithPoint" };

            var comparisonNodeLess = new CompareNode() { Name = "comparisonNodeLess" };
            var comparisonNodeMore = new CompareNode() { Name = "comparisonNodeMore" };
            var comparisonNodeEquals = new CompareNode() { Name = "comparisonNodeEquals" };

            xPoint.ConnectTo(comparisonNodeLess);
            xPoint.ConnectTo(comparisonNodeMore);
            xPoint.ConnectTo(comparisonNodeEquals);

            compareWithPoint.ConnectTo(comparisonNodeLess.CompareWith);
            compareWithPoint.ConnectTo(comparisonNodeMore.CompareWith);
            compareWithPoint.ConnectTo(comparisonNodeEquals.CompareWith);

            new OutPoint(new CompareColor(CompareType.Less)) { Name = "CompareType.Less" }.ConnectTo(comparisonNodeLess.CompareOperation);
            new OutPoint(new CompareColor(CompareType.More)) { Name = "CompareType.More" }.ConnectTo(comparisonNodeMore.CompareOperation);
            new OutPoint(new CompareColor(CompareType.Equal)) { Name = "CompareType.Equal" }.ConnectTo(comparisonNodeEquals.CompareOperation);

            var mix1 = new MixNode() { Name = "mix1" };
            var mix2 = new MixNode() { Name = "mix2" };
            var mix3 = new MixNode() { Name = "mix3" };

            comparisonNodeLess.ConnectTo(mix1);
            comparisonNodeMore.ConnectTo(mix2);
            comparisonNodeEquals.ConnectTo(mix3);

            new OutPoint(new StringColor("Less")) { Name = "LessString" }.ConnectTo(mix1);
            new OutPoint(new StringColor("More")) { Name = "MoreString" }.ConnectTo(mix2);
            new OutPoint(new StringColor("Equals")) { Name = "EqualsString" }.ConnectTo(mix3);
            //comparisonNodeEquals.AddOutConnection().ConnectTo(new OutPoint(new StringColor("Equal")));

            //both x and y will recieve the same result in this text, so add just one of them
            graph.Add(xPoint);
            string res = "";
            graph.OnFinish += delegate(GraphResult result)
                {
                    GraphPath path = result[xPoint];
                    if (path != null)
                    {
                        //sum is list of transitions of first value — result is the last one.
                        res = path.LastColor.ToStringDemuxed();
                    }

                };
            graph.Start();
            return res;
        }
        void AddCompareCondition <T, TProperty>(Expression <Func <T, TProperty> > propertyExpression,
                                                CompareNode <T, TProperty> compareNode)
            where T : class
        {
            var conditionFactory = new ConditionAlphaNodeSelectorFactory(_configurator, node => _alphaNodes.Add(node));

            var alphaFactory = new AlphaNodeSelectorFactory(conditionFactory, _configurator);

            var compareFactory = new CompareNodeSelectorFactory <TProperty>(alphaFactory, _configurator,
                                                                            compareNode.Comparator,
                                                                            compareNode.Value);

            Compile(propertyExpression, compareFactory);
        }
Esempio n. 7
0
        public override bool Visit <TT, TTProperty>(CompareNode <TT, TTProperty> node,
                                                    Func <RuntimeVisitor, bool> next)
        {
            var locator = this as CompareNodeSelector <TT, TTProperty>;

            if (locator != null)
            {
                if (node.Comparator.Equals(locator.Comparator) && node.Value.Equals(locator.Value))
                {
                    locator._node = node;
                    return(false);
                }
            }

            return(base.Visit(node, next));
        }
Esempio n. 8
0
 public NetworkRequest ProcessRequest(NetworkRequest r)
 {
     Allowed = !model.DisableComparision;
     if (Allowed)
     {
         lock (sync)
         {
             if (null == cachedResponse || Environment.TickCount - cacheTime > 1000 * 300)
             {
                 var si = new SystemInfo();
                 Node = new CompareNode();
                 Node.SetData("COMP-CPUSpeed", si.GetCPUSpeed().ToString());
                 Node.SetData("COMP-CPUType", si.GetCPUType());
                 Node.SetData("COMP-CPUCores", si.GetCPUCores().ToString());
                 Node.SetData("COMP-CPUThreads", si.GetCPUThreads().ToString());
                 Node.SetData("COMP-CPUBits", si.GetCPUBits().ToString());
                 Node.SetData("COMP-MoboBrand", si.GetMoboBrand());
                 Node.SetData("COMP-MoboModel", si.GetMoboModel());
                 Node.SetData("COMP-BIOSVersion", si.GetBIOSVersion());
                 Node.SetData("COMP-RAMSize", si.GetMemorySize().ToString());
                 Node.SetData("COMP-GPUModel", si.GetGPUDescription());
                 Node.SetData("COMP-GPUCount", si.GetGPUCount().ToString());
                 Node.SetData("COMP-GPUTotalMemory", si.GetTotalGPUMemory().ToString());
                 Node.SetData("COMP-DisplayPrimaryHeight", si.GetPrimaryDisplayHeight().ToString());
                 Node.SetData("COMP-DisplayPrimaryWidth", si.GetPrimaryDisplayWidth().ToString());
                 Node.SetData("COMP-DisplayTotalWidth", si.GetTotalDisplayWidth().ToString());
                 Node.SetData("COMP-DisplayTotalHeight", si.GetTotalDisplayHeight().ToString());
                 Node.SetData("COMP-HDDSize", si.GetTotalHDDSize().ToString());
                 Node.SetData("COMP-HDDFree", si.GetTotalHDDFree().ToString());
                 Node.SetData("COMP-HDDCount", si.GetHDDCount().ToString());
                 Node.SetData("COMP-NICSpeed", si.GetNetworkSpeed().ToString());
                 Node.SetData("COMP-SoundCard", si.GetSoundcardName());
                 cachedResponse = new NetworkRequest {
                     Data = Serialize(this)
                 };
                 cacheTime = Environment.TickCount;
             }
         }
         return(cachedResponse);
     }
     else
     {
         return(new NetworkRequest {
             Data = Serialize(this)
         });
     }
 }
Esempio n. 9
0
        protected override void DoInitFromNode()
        {
            mNode = (CompareNode)node;
            int selectedAction = mNode.selectedAction;

            splat.UpdateList(ConvertActionsToString());

            string str = "";

            if (selectedAction != -1)
            {
                str = convertToString[selectedAction];
            }

            SplatItem item = splat.GetItemForText(str);

            if (item != null)
            {
                splat.Select(item);
            }
        }
Esempio n. 10
0
 public bool ReceiveResponse(NetworkRequest r)
 {
     try
     {
         var inc = Deserialise <CompareVerb>(r.Data);
         Node    = inc.Node;
         Allowed = inc.Allowed;
         if (null != Node)
         {
             Node.Score = inc.Node.GetSystemScore();
         }
         else
         {
             Node = new CompareNode();
         }
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Esempio n. 11
0
        public void Select <TNode>(Node <TNode> node)
            where TNode : class
        {
            _node = null;
            node.Accept(this);

            if (_node == null)
            {
                CompareNode <T, TProperty> compareNode = _configurator.Compare <T, TProperty>(_comparator, _value);

                var parentNode = node as Node <Token <T, TProperty> >;
                if (parentNode == null)
                {
                    throw new ArgumentException("Expected " + typeof(T).Tokens() + ", but was "
                                                + typeof(TNode).Tokens());
                }

                parentNode.AddActivation(compareNode);

                _node = compareNode;
            }

            _next.Select(_node);
        }
Esempio n. 12
0
        /*
         *  var firstTryNode = new ActionNode(delegate(List<IntColor> colors, List<Color> badColors)
         *      {
         *          var sum = colors.Sum(color => color.Value);
         *          return sum < 5 ? (Color) null : new IntColor(sum);
         *      });
         *  var secondTryNode = new ActionNode(delegate(List<IntColor> colors, List<Color> badColors)
         *  {
         *      var sum = colors.Sum(color => color.Value);
         *      return sum < 10 ? (Color)null : new IntColor(sum);
         *  });
         */
        static string Compare(int x, int compareWith)
        {
            var xPoint = new OutPoint(new IntColor(x))
            {
                Name = "xPoint"
            };
            var compareWithPoint = new OutPoint(new IntColor(compareWith))
            {
                Name = "compareWithPoint"
            };

            var comparisonNodeLess = new CompareNode()
            {
                Name = "comparisonNodeLess"
            };
            var comparisonNodeMore = new CompareNode()
            {
                Name = "comparisonNodeMore"
            };
            var comparisonNodeEquals = new CompareNode()
            {
                Name = "comparisonNodeEquals"
            };

            xPoint.ConnectTo(comparisonNodeLess);
            xPoint.ConnectTo(comparisonNodeMore);
            xPoint.ConnectTo(comparisonNodeEquals);

            compareWithPoint.ConnectTo(comparisonNodeLess.CompareWith);
            compareWithPoint.ConnectTo(comparisonNodeMore.CompareWith);
            compareWithPoint.ConnectTo(comparisonNodeEquals.CompareWith);

            new OutPoint(new CompareColor(CompareType.Less))
            {
                Name = "CompareType.Less"
            }.ConnectTo(comparisonNodeLess.CompareOperation);
            new OutPoint(new CompareColor(CompareType.More))
            {
                Name = "CompareType.More"
            }.ConnectTo(comparisonNodeMore.CompareOperation);
            new OutPoint(new CompareColor(CompareType.Equal))
            {
                Name = "CompareType.Equal"
            }.ConnectTo(comparisonNodeEquals.CompareOperation);

            var mix1 = new MixNode()
            {
                Name = "mix1"
            };
            var mix2 = new MixNode()
            {
                Name = "mix2"
            };
            var mix3 = new MixNode()
            {
                Name = "mix3"
            };

            comparisonNodeLess.ConnectTo(mix1);
            comparisonNodeMore.ConnectTo(mix2);
            comparisonNodeEquals.ConnectTo(mix3);

            new OutPoint(new StringColor("Less"))
            {
                Name = "LessString"
            }.ConnectTo(mix1);
            new OutPoint(new StringColor("More"))
            {
                Name = "MoreString"
            }.ConnectTo(mix2);
            new OutPoint(new StringColor("Equals"))
            {
                Name = "EqualsString"
            }.ConnectTo(mix3);
            //comparisonNodeEquals.AddOutConnection().ConnectTo(new OutPoint(new StringColor("Equal")));

            //both x and y will recieve the same result in this text, so add just one of them
            graph.Add(xPoint);
            string res = "";

            graph.OnFinish += delegate(GraphResult result)
            {
                GraphPath path = result[xPoint];
                if (path != null)
                {
                    //sum is list of transitions of first value — result is the last one.
                    res = path.LastColor.ToStringDemuxed();
                }
            };
            graph.Start();
            return(res);
        }
Esempio n. 13
0
 /// <summary>
 /// Visits a node via the <see cref="innerVisitor"/>.
 /// </summary>
 /// <param name="node">The node to visit.</param>
 protected override void DefaultVisit(CompareNode node) => innerVisitor.Visit(node);
 /// <summary>
 /// Visits a single <see cref="CompareNode"/> and produces a value of type <typeparamref name="TResult"/>.
 /// </summary>
 /// <param name="node">The node to visit.</param>
 /// <returns>The result of visitng the node.</returns>
 protected internal override TResult VisitNode(CompareNode node) => DefaultVisit(node);
 /// <summary>
 /// The action to perform for all nodes whose visitor method is not overridden.
 /// </summary>
 /// <param name="node">The node to visit.</param>
 /// <returns>The result of visiting the node.</returns>
 protected abstract TResult DefaultVisit(CompareNode node);
 /// <summary>
 /// Visits a node via the <see cref="innerVisitor"/>.
 /// </summary>
 /// <param name="node">The node to visit.</param>
 protected internal override void VisitNode(CompareNode node) => innerVisitor.Visit(node);
Esempio n. 17
0
 public virtual bool Visit <T, TProperty>(CompareNode <T, TProperty> node, Func <RuntimeVisitor, bool> next)
     where T : class
 {
     return(next(this));
 }