diff options
| author | 2019-07-12 22:40:01 +0200 | |
|---|---|---|
| committer | 2019-07-12 22:40:01 +0200 | |
| commit | 713f548d5c3ddabd7f8a65d19edb38205a159091 (patch) | |
| tree | 58f42de33c327c8b0e6dea0224bcbe8ec189aa1f | |
| parent | 3900611f9bc0b8e47f198587defd632403beaf90 (diff) | |
| download | OneRoll-713f548d5c3ddabd7f8a65d19edb38205a159091.tar.gz OneRoll-713f548d5c3ddabd7f8a65d19edb38205a159091.zip | |
Add values list node
| -rw-r--r-- | diceparser.cpp | 9 | ||||
| -rw-r--r-- | node/valueslistnode.cpp | 6 |
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); } |