diff options
Diffstat (limited to 'node')
| -rw-r--r-- | node/dicerollernode.cpp | 2 | ||||
| -rw-r--r-- | node/dicerollernode.h | 2 | ||||
| -rw-r--r-- | node/helpnode.cpp | 20 | ||||
| -rw-r--r-- | node/helpnode.h | 1 | ||||
| -rw-r--r-- | node/scalaroperatornode.cpp | 12 | ||||
| -rw-r--r-- | node/scalaroperatornode.h | 2 |
6 files changed, 27 insertions, 12 deletions
diff --git a/node/dicerollernode.cpp b/node/dicerollernode.cpp index 27750df..8e86cce 100644 --- a/node/dicerollernode.cpp +++ b/node/dicerollernode.cpp @@ -47,7 +47,7 @@ void DiceRollerNode::run(ExecutionNode* previous) Result* result=previous->getResult(); if(NULL!=result) { - m_diceCount = result->getScalar(); + m_diceCount = result->getResult(Result::SCALAR).toReal(); m_result->setPrevious(result); for(quint64 i=0; i < m_diceCount ; ++i) diff --git a/node/dicerollernode.h b/node/dicerollernode.h index d46f8ba..67d4c2d 100644 --- a/node/dicerollernode.h +++ b/node/dicerollernode.h @@ -16,7 +16,7 @@ private: QMutex* m_mutex; DiceResult* m_sharedDiceResult; int m_faces; - int m_diceCount; + quint64 m_diceCount; }; /** diff --git a/node/helpnode.cpp b/node/helpnode.cpp index a11c2b3..a46d29a 100644 --- a/node/helpnode.cpp +++ b/node/helpnode.cpp @@ -2,21 +2,35 @@ HelpNode::HelpNode() { + m_result = new StringResult(); } void HelpNode::run(ExecutionNode* previous) { + StringResult* txtResult = dynamic_cast<StringResult*>(m_result); + + qDebug() << m_result->hasResultOfType(Result::SCALAR) << m_result->hasResultOfType(Result::STRING); if(NULL != previous) { + if(previous->getResult() == NULL) + { + txtResult->setText(toString()); + } + else + { + txtResult->setText(previous->getHelp()); + } + m_result->setPrevious(previous->getResult()); } - else - { + if(NULL!=m_nextNode) + { + m_nextNode->run(this); } } QString HelpNode::toString()const { - return QObject::tr("see full documentation at: <a href=\"https://github.com/obiwankennedy/DiceParser/blob/master/HelpMe.md\">https://github.com/obiwankennedy/DiceParser/blob/master/HelpMe.md</a>"); + return QObject::tr("Rolisteam Dice Parser: Full documentation at: https://github.com/obiwankennedy/DiceParser/blob/master/HelpMe.md"); } qint64 HelpNode::getPriority() const diff --git a/node/helpnode.h b/node/helpnode.h index f8b3f78..27f38b3 100644 --- a/node/helpnode.h +++ b/node/helpnode.h @@ -32,6 +32,7 @@ public: * @return */ virtual qint64 getPriority() const; + }; #endif // HELPNODE_H diff --git a/node/scalaroperatornode.cpp b/node/scalaroperatornode.cpp index 97d17d9..fb7a110 100644 --- a/node/scalaroperatornode.cpp +++ b/node/scalaroperatornode.cpp @@ -5,7 +5,7 @@ ScalarOperatorNode::ScalarOperatorNode() - : m_internalNode(NULL),m_myScalarResult(new ScalarResult()) + : m_internalNode(NULL),m_scalarResult(new ScalarResult()) { m_scalarOperationList.insert('+',PLUS); m_scalarOperationList.insert('-',MINUS); @@ -13,7 +13,7 @@ ScalarOperatorNode::ScalarOperatorNode() m_scalarOperationList.insert('*',MULTIPLICATION); m_scalarOperationList.insert('/',DIVIDE); - m_result = m_myScalarResult; + m_result = m_scalarResult; } void ScalarOperatorNode::run(ExecutionNode* previous) @@ -42,16 +42,16 @@ void ScalarOperatorNode::run(ExecutionNode* previous) switch(m_myOperator) { case PLUS: - m_myScalarResult->setValue(add(previousResult->getScalar(),internalResult->getScalar())); + m_scalarResult->setValue(add(previousResult->getResult(Result::SCALAR).toReal(),internalResult->getResult(Result::SCALAR).toReal())); break; case MINUS: - m_myScalarResult->setValue(substract(previousResult->getScalar(),internalResult->getScalar())); + m_scalarResult->setValue(substract(previousResult->getResult(Result::SCALAR).toReal(),internalResult->getResult(Result::SCALAR).toReal())); break; case MULTIPLICATION: - m_myScalarResult->setValue(multiple(previousResult->getScalar(),internalResult->getScalar())); + m_scalarResult->setValue(multiple(previousResult->getResult(Result::SCALAR).toReal(),internalResult->getResult(Result::SCALAR).toReal())); break; case DIVIDE: - m_myScalarResult->setValue(divide(previousResult->getScalar(),internalResult->getScalar())); + m_scalarResult->setValue(divide(previousResult->getResult(Result::SCALAR).toReal(),internalResult->getResult(Result::SCALAR).toReal())); break; default: break; diff --git a/node/scalaroperatornode.h b/node/scalaroperatornode.h index 2cd8405..14f759b 100644 --- a/node/scalaroperatornode.h +++ b/node/scalaroperatornode.h @@ -30,7 +30,7 @@ private: ScalarOperator m_myOperator; ExecutionNode* m_internalNode; QMap<QChar,ScalarOperator> m_scalarOperationList; - ScalarResult* m_myScalarResult; + ScalarResult* m_scalarResult; }; #endif // SCALAROPERATORNODE_H |