aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorobiwankennedy <renaud@rolisteam.org>2014-01-08 18:09:13 +0100
committerobiwankennedy <renaud@rolisteam.org>2014-01-08 18:09:13 +0100
commit9cebf64aac402f2d63d06c3e67fc9a75b5b74b14 (patch)
tree63a0965e118cff41dc29db8b0f253731f51de3fd
parentda6ca2bbd51a20ca247e216033c9b9dc77def4aa (diff)
downloadOneRoll-9cebf64aac402f2d63d06c3e67fc9a75b5b74b14.tar.gz
OneRoll-9cebf64aac402f2d63d06c3e67fc9a75b5b74b14.zip
Update rerolldicenode.cpp
add validator and die*
-rw-r--r--node/rerolldicenode.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/node/rerolldicenode.cpp b/node/rerolldicenode.cpp
index 4a60880..4dff6b7 100644
--- a/node/rerolldicenode.cpp
+++ b/node/rerolldicenode.cpp
@@ -1,9 +1,10 @@
#include "rerolldicenode.h"
-#include "dicerollernode.h"
+
RerollDiceNode::RerollDiceNode()
+ : m_myDiceResult(new DiceResult())
{
-
+ m_result=m_myDiceResult;
}
void RerollDiceNode::run(ExecutionNode* previous)
{
@@ -12,18 +13,17 @@ void RerollDiceNode::run(ExecutionNode* previous)
DiceResult* previous_result = static_cast<DiceResult*>(previous->getResult());
if(NULL!=previous_result)
{
- QList<Die> list = previous_result->getResultList();
+ QList<Die*> list = previous_result->getResultList();
- foreach(Die die, list)
+ foreach(Die* die, list)
{
- if(m_value == die.getValue())
+ if(m_validator->isValid(die))
{
- /*
- DiceRollerNode roller;
- roller.run(this);*/
+ die->roll();
}
}
+ m_myDiceResult->setResultList(list);
if(NULL!=m_nextNode)
{
@@ -32,3 +32,7 @@ void RerollDiceNode::run(ExecutionNode* previous)
}
}
}
+void RerollDiceNode::setValidator(Validator* val)
+{
+ m_validator = val;
+}