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))); }
/* * 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); }
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)); }
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) }); } }
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); } }
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); } }
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); }
/* * 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); }
/// <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);
public virtual bool Visit <T, TProperty>(CompareNode <T, TProperty> node, Func <RuntimeVisitor, bool> next) where T : class { return(next(this)); }