aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/node/jumpbackwardnode.cpp
diff options
context:
space:
mode:
authorRenaud G <renaud@rolisteam.org>2016-09-16 20:35:11 +0200
committerRenaud G <renaud@rolisteam.org>2016-09-16 20:35:11 +0200
commit70e09294fca1022d9370fe2fd631a98480c284b2 (patch)
tree4b09bfeed97a10ae19bede3f1c7eafafb2cdfcb0 /node/jumpbackwardnode.cpp
parent92e415fa59bb1508bbbd93905dbe225d4202d571 (diff)
downloadOneRoll-70e09294fca1022d9370fe2fd631a98480c284b2.tar.gz
OneRoll-70e09294fca1022d9370fe2fd631a98480c284b2.zip
-Fix some value on diceparser.
Diffstat (limited to 'node/jumpbackwardnode.cpp')
-rw-r--r--node/jumpbackwardnode.cpp44
1 files changed, 43 insertions, 1 deletions
diff --git a/node/jumpbackwardnode.cpp b/node/jumpbackwardnode.cpp
index 25056b1..b1e7889 100644
--- a/node/jumpbackwardnode.cpp
+++ b/node/jumpbackwardnode.cpp
@@ -24,6 +24,7 @@
JumpBackwardNode::JumpBackwardNode()
{
m_previousNode=NULL;
+ m_backwardNode = NULL;
m_diceResult =new DiceResult();
m_result = m_diceResult;
}
@@ -45,6 +46,46 @@ QString JumpBackwardNode::toString(bool wl) const
return m_id;
}
}
+void JumpBackwardNode::generateDotTree(QString& s)
+{
+ s.append(toString(true));
+ s.append(";\n");
+
+ if(NULL!=m_backwardNode)
+ {
+ s.append(toString(false));
+ s.append(" -> ");
+ s.append(m_backwardNode->toString(false));
+ s.append("[label=\"backward\"];\n");
+ //m_backwardNode->generateDotTree(s);
+ }
+
+ if(NULL!=m_nextNode)
+ {
+ s.append(toString(false));
+ s.append(" -> ");
+ s.append(m_nextNode->toString(false));
+ s.append("[label=\"next\"];\n");
+ m_nextNode->generateDotTree(s);
+ }
+ else
+ {
+ s.append(toString(false));
+ s.append(" -> ");
+ s.append("NULL;\n");
+
+ if(NULL!=m_result)
+ {
+ s.append(toString(false));
+ s.append(" ->");
+ s.append(m_result->toString(false));
+ s.append(" [label=\"Result\"];\n");
+ m_result->generateDotTree(s);
+ }
+ }
+
+}
+
void JumpBackwardNode::run(ExecutionNode* previous)
{
m_previousNode = previous;
@@ -62,6 +103,7 @@ void JumpBackwardNode::run(ExecutionNode* previous)
if((i==0)&&(result->hasResultOfType(Result::DICE_LIST)))
{
found =true;
+ m_backwardNode = parent;
}
}
if(!found)
@@ -88,7 +130,7 @@ void JumpBackwardNode::run(ExecutionNode* previous)
}
}
- m_result->setPrevious(parent->getResult());
+ m_result->setPrevious(previous->getResult());
if(NULL!=m_nextNode)
{