diff options
| author | 2014-01-07 18:48:17 +0100 | |
|---|---|---|
| committer | 2014-01-07 18:48:17 +0100 | |
| commit | 2bd5ff1b613c20e31269e71a8c2150eb206788cc (patch) | |
| tree | 16500289e5b76cc4795089c53cfc3ff6091d73dc /node/countexecutenode.cpp | |
| parent | 9925fe9f7bf62a3971477ad408df4036601b0ea6 (diff) | |
| download | OneRoll-2bd5ff1b613c20e31269e71a8c2150eb206788cc.tar.gz OneRoll-2bd5ff1b613c20e31269e71a8c2150eb206788cc.zip | |
Update countexecutenode.cpp
counting working
Diffstat (limited to 'node/countexecutenode.cpp')
| -rw-r--r-- | node/countexecutenode.cpp | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/node/countexecutenode.cpp b/node/countexecutenode.cpp index fff00f2..278f1ff 100644 --- a/node/countexecutenode.cpp +++ b/node/countexecutenode.cpp @@ -1,7 +1,12 @@ #include "countexecutenode.h" +#include "diceresult.h" + + CountExecuteNode::CountExecuteNode() + : m_scalarResult(new ScalarResult()) { + m_result = m_scalarResult; } void CountExecuteNode::setValidator(Validator* validator) { @@ -14,20 +19,24 @@ void CountExecuteNode::run(ExecutionNode *previous) { return; } - QList<qint64> diceList=previous->getResult()->getResultList(); - qint64 sum = 0; - foreach(qint64 dice,diceList) + DiceResult* previous_result = static_cast<DiceResult*>(previous->getResult()); + if(NULL!=previous_result) { - if(m_validator->isValid(dice)) + QList<Die> diceList=previous_result->getResultList(); + qint64 sum = 0; + foreach(Die dice,diceList) { - ++sum; + if(m_validator->isValid(dice)) + { + ++sum; + } } - } - m_result.insertResult(sum); + m_scalarResult->setValue(sum); - if(NULL!=m_nextNode) - { - m_nextNode->run(this); + if(NULL!=m_nextNode) + { + m_nextNode->run(this); + } } } |