aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/diceparser.cpp
diff options
context:
space:
mode:
authorRenaud G <renaud@rolisteam.org>2019-04-23 11:01:43 +0200
committerRenaud G <renaud@rolisteam.org>2019-04-23 11:33:14 +0200
commit420262877bccd35e5bc8c87eb586ba73288fe9c8 (patch)
tree7037fc235ae9acb2e12b1155ed61fbda1d6b5724 /diceparser.cpp
parente01a80db01ee4afd9ce546fbad284c3aa56ea11c (diff)
downloadOneRoll-420262877bccd35e5bc8c87eb586ba73288fe9c8.tar.gz
OneRoll-420262877bccd35e5bc8c87eb586ba73288fe9c8.zip
Add unique operator
Diffstat (limited to 'diceparser.cpp')
-rw-r--r--diceparser.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/diceparser.cpp b/diceparser.cpp
index 0c6b23c..f5d543f 100644
--- a/diceparser.cpp
+++ b/diceparser.cpp
@@ -33,6 +33,7 @@
#include "node/groupnode.h"
#include "node/helpnode.h"
#include "node/ifnode.h"
+#include "node/uniquenode.h"
#include "node/jumpbackwardnode.h"
#include "node/keepdiceexecnode.h"
#include "node/listaliasnode.h"
@@ -77,6 +78,7 @@ DiceParser::DiceParser()
m_OptionOp->insert(QStringLiteral("p"), Painter);
m_OptionOp->insert(QStringLiteral("f"), Filter);
m_OptionOp->insert(QStringLiteral("y"), Split);
+ m_OptionOp->insert(QStringLiteral("u"), Unique);
m_OptionOp->insert(QStringLiteral("g"), Group);
m_OptionOp->insert(QStringLiteral("b"), Bind);
m_OptionOp->insert(QStringLiteral("o"), Occurences);
@@ -1140,6 +1142,13 @@ bool DiceParser::readOption(QString& str, ExecutionNode* previous) //,
found= true;
}
break;
+ case Unique:
+ {
+ node= new UniqueNode();
+ previous->setNextNode(node);
+ found= true;
+ }
+ break;
case Painter:
{
PainterNode* painter= new PainterNode();