diff options
| author | 2017-11-28 15:46:55 +0100 | |
|---|---|---|
| committer | 2017-11-28 15:46:55 +0100 | |
| commit | afd142aa0042575a37c4a56954b320c68b3466c1 (patch) | |
| tree | fc03eff3db38fb5277ea8a345db7001b1fcb5a92 | |
| parent | c159dc897e9db612d2223cb2d19555c28b722f70 (diff) | |
| download | OneRoll-afd142aa0042575a37c4a56954b320c68b3466c1.tar.gz OneRoll-afd142aa0042575a37c4a56954b320c68b3466c1.zip | |
-Management of Dynamic Variable
| -rw-r--r-- | diceparser.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/diceparser.cpp b/diceparser.cpp index 178a6cb..08f3110 100644 --- a/diceparser.cpp +++ b/diceparser.cpp @@ -45,6 +45,7 @@ #include "node/stringnode.h" #include "node/splitnode.h" #include "node/groupnode.h" +#include "node/variablenode.h" #define DEFAULT_FACES_NUMBER 10 @@ -1254,12 +1255,17 @@ QString DiceParser::humanReadableError() bool DiceParser::readOperand(QString& str,ExecutionNode* & node) { - qint64 myNumber=1; + qint64 intValue=1; QString resultStr; - if(m_parsingToolbox->readNumber(str,myNumber)) + if(m_parsingToolbox->readDynamicVariable(str,intValue)) + { + VariableNode* variableNode = new VariableNode(); + variableNode->setIndex(intValue); + } + else if(m_parsingToolbox->readNumber(str,intValue)) { NumberNode* numberNode = new NumberNode(); - numberNode->setNumber(myNumber); + numberNode->setNumber(intValue); node = numberNode; return true; |