diff options
| author | 2024-10-23 15:42:08 +0200 | |
|---|---|---|
| committer | 2024-12-29 14:46:30 +0100 | |
| commit | cb1dcb5ee28994a2cd691ad696a5ba4c3c3802ea (patch) | |
| tree | c261de4ad8d0f85aec0200bf500e9579437577df /src/libparser/node/mergenode.cpp | |
| parent | e4dc41cdc3ebb84ef7e42f5cf261e36fe874c901 (diff) | |
| download | OneRoll-cb1dcb5ee28994a2cd691ad696a5ba4c3c3802ea.tar.gz OneRoll-cb1dcb5ee28994a2cd691ad696a5ba4c3c3802ea.zip | |
Add execute node.
Diffstat (limited to 'src/libparser/node/mergenode.cpp')
| -rw-r--r-- | src/libparser/node/mergenode.cpp | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/src/libparser/node/mergenode.cpp b/src/libparser/node/mergenode.cpp index 096bb8c..4c19bd7 100644 --- a/src/libparser/node/mergenode.cpp +++ b/src/libparser/node/mergenode.cpp @@ -29,16 +29,16 @@ MergeNode::MergeNode() : m_diceResult(new DiceResult()) } void MergeNode::run(ExecutionNode* previous) { - if(nullptr == previous) - { - m_errors.insert(Dice::ERROR_CODE::NO_PREVIOUS_ERROR, QObject::tr("No previous node before Merge operator")); + if(isValid(!previous, Dice::ERROR_CODE::NO_PREVIOUS_ERROR, tr("No previous node before Merge operator"))) return; - } m_previousNode= previous; m_result->setPrevious(previous->getResult()); ExecutionNode* previousLast= nullptr; std::vector<Result*> pastResult; + if(!m_startList) + return; + for(auto start : *m_startList) { ExecutionNode* last= getLatestNode(start); @@ -92,11 +92,6 @@ void MergeNode::run(ExecutionNode* previous) auto first= m_startList->front(); m_startList->clear(); m_startList->push_back(first); - - if(nullptr != m_nextNode) - { - m_nextNode->run(this); - } } #include <QDebug> ExecutionNode* MergeNode::getLatestNode(ExecutionNode* node) |