aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorRenaud G <renaud@rolisteam.org>2019-07-12 22:40:01 +0200
committerRenaud G <renaud@rolisteam.org>2019-07-12 22:40:01 +0200
commit713f548d5c3ddabd7f8a65d19edb38205a159091 (patch)
tree58f42de33c327c8b0e6dea0224bcbe8ec189aa1f
parent3900611f9bc0b8e47f198587defd632403beaf90 (diff)
downloadOneRoll-713f548d5c3ddabd7f8a65d19edb38205a159091.tar.gz
OneRoll-713f548d5c3ddabd7f8a65d19edb38205a159091.zip
Add values list node
-rw-r--r--diceparser.cpp9
-rw-r--r--node/valueslistnode.cpp6
2 files changed, 13 insertions, 2 deletions
diff --git a/diceparser.cpp b/diceparser.cpp
index 0de05fc..75247ba 100644
--- a/diceparser.cpp
+++ b/diceparser.cpp
@@ -28,6 +28,7 @@
#include "node/bind.h"
#include "node/countexecutenode.h"
+#include "node/dicerollernode.h"
#include "node/explodedicenode.h"
#include "node/filternode.h"
#include "node/groupnode.h"
@@ -49,10 +50,10 @@
#include "node/startingnode.h"
#include "node/stringnode.h"
#include "node/uniquenode.h"
+#include "node/valueslistnode.h"
#include "node/variablenode.h"
#include "booleancondition.h"
-#include "node/dicerollernode.h"
#include "parsingtoolbox.h"
#include "range.h"
#include "validator.h"
@@ -342,6 +343,12 @@ bool DiceParser::readValuesList(QString& str, ExecutionNode*& node)
variableNode->setData(&m_startNodes);
values->insertValue(variableNode);
}
+ else if(ParsingToolBox::readNumber(var, number))
+ {
+ NumberNode* numberNode= new NumberNode();
+ numberNode->setNumber(number);
+ values->insertValue(numberNode);
+ }
}
node= values;
return true;
diff --git a/node/valueslistnode.cpp b/node/valueslistnode.cpp
index e022741..b31ee84 100644
--- a/node/valueslistnode.cpp
+++ b/node/valueslistnode.cpp
@@ -1,5 +1,7 @@
#include "valueslistnode.h"
+#include "variablenode.h"
+
ValuesListNode::ValuesListNode() : m_diceResult(new DiceResult())
{
m_result= m_diceResult;
@@ -16,7 +18,9 @@ void ValuesListNode::run(ExecutionNode* previous)
continue;
auto val= result->getResult(Result::SCALAR).toInt();
Die* die= new Die();
- die->displayed();
+ auto dyna= dynamic_cast<VariableNode*>(node);
+ if(nullptr != dyna)
+ die->displayed();
die->insertRollValue(val);
m_diceResult->insertResult(die);
}