aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/node/ifnode.cpp
diff options
context:
space:
mode:
authorRenaud G <renaud@rolisteam.org>2017-04-29 16:12:16 +0200
committerRenaud G <renaud@rolisteam.org>2017-04-29 16:12:16 +0200
commite1b01fe2cb5d5605f05f01521cd1074c6f57ff37 (patch)
tree1b5c17ffcfd60256bcc38d25d9eac750a95b7457 /node/ifnode.cpp
parent9d4feb28fdfdf9635a87628cb4b984fbccb5ee5b (diff)
parent29c80721f858f84bb737a10e7cd012e4a9795399 (diff)
downloadOneRoll-e1b01fe2cb5d5605f05f01521cd1074c6f57ff37.tar.gz
OneRoll-e1b01fe2cb5d5605f05f01521cd1074c6f57ff37.zip
Merge branch 'master' of github.com:Rolisteam/DiceParser
Diffstat (limited to 'node/ifnode.cpp')
-rw-r--r--node/ifnode.cpp31
1 files changed, 20 insertions, 11 deletions
diff --git a/node/ifnode.cpp b/node/ifnode.cpp
index 91ad199..da852b3 100644
--- a/node/ifnode.cpp
+++ b/node/ifnode.cpp
@@ -34,48 +34,57 @@ IfNode::~IfNode()
void IfNode::run(ExecutionNode *previous)
{
m_previousNode = previous;
- if(NULL==previous)
+ if(nullptr==previous)
{
return;
}
ExecutionNode* previousLoop = previous;
- ExecutionNode* nextNode = NULL;
- bool runNext = (NULL==m_nextNode) ? false : true;
+ ExecutionNode* nextNode = nullptr;
+ bool runNext = (nullptr==m_nextNode) ? false : true;
Result* previousResult = previous->getResult();
m_result = previousResult;
- if(NULL!=m_result)
+ if(nullptr!=m_result)
{
qreal value = previousResult->getResult(Result::SCALAR).toReal();
- if(NULL!=m_validator)
+ if(nullptr!=m_validator)
{
DiceResult* previousDiceResult = dynamic_cast<DiceResult*>(previousResult);
- if(NULL!=previousDiceResult)
+ if(nullptr!=previousDiceResult)
{
QList<Die*> diceList=previousDiceResult->getResultList();
+
if(m_conditionType == OnEach)
{
for(Die* dice : diceList)
{
+ qDebug()<< "dice value:" << dice->getValue();
if(m_validator->hasValid(dice,true,true))
{
- nextNode = (NULL==m_true) ? NULL: m_true->getCopy();
+ qDebug()<< "true";
+ nextNode = (nullptr==m_true) ? nullptr: m_true->getCopy();
}
else
{
- nextNode = (NULL==m_false) ? NULL: m_false->getCopy();
+ qDebug()<< "false";
+ nextNode = (nullptr==m_false) ? nullptr: m_false->getCopy();
}
- if(NULL!=nextNode)
+ qDebug()<< "dice value:" << dice->getValue() << "next node" << nextNode << "m_true" << m_true;
+
+ if(nullptr!=nextNode)
{
- if(NULL==previousLoop->getNextNode())
+ if(nullptr==previousLoop->getNextNode())
{
+ qDebug() << "iniside loop";
previousLoop->setNextNode(nextNode);
}
- if(NULL==m_nextNode)
+ if(nullptr==m_nextNode)
{
+ qDebug() << "next node" ;
m_nextNode = nextNode;
}
+ qDebug() << "before run";
nextNode->run(previousLoop);
previousLoop = getLeafNode(nextNode);
}