public bool TryGetNextNode(ConditionEdge conditionEdge, ref ActionNode nextNode) { using var log = Logger.LogBlock(); var asd = nextNode.Name; foreach (var edge in ConditionEdges.Where(e => e.StartNodeName == asd)) { edge.RemoveFlags(ConditionEdgeFlags.Tried); } nextNode = ActionNodes.FirstOrDefault(n => conditionEdge.EndNodeName == n.Name); return(nextNode is { });
private bool ProcessEdge(ConditionEdge edge, List <SerializablePoint> actionPoints) { using var log = Logger.LogBlock(); return(edge.ProcessCondition(actionPoints)); }