aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/node
diff options
context:
space:
mode:
authorobiwankennedy <renaud@rolisteam.org>2014-01-07 18:48:17 +0100
committerobiwankennedy <renaud@rolisteam.org>2014-01-07 18:48:17 +0100
commit2bd5ff1b613c20e31269e71a8c2150eb206788cc (patch)
tree16500289e5b76cc4795089c53cfc3ff6091d73dc /node
parent9925fe9f7bf62a3971477ad408df4036601b0ea6 (diff)
downloadOneRoll-2bd5ff1b613c20e31269e71a8c2150eb206788cc.tar.gz
OneRoll-2bd5ff1b613c20e31269e71a8c2150eb206788cc.zip
Update countexecutenode.cpp
counting working
Diffstat (limited to 'node')
-rw-r--r--node/countexecutenode.cpp29
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);
+ }
}
}