aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/node/countexecutenode.cpp
diff options
context:
space:
mode:
authorRenaud G <renaud@rolisteam.org>2015-10-11 16:06:53 +0200
committerRenaud G <renaud@rolisteam.org>2015-10-11 16:06:53 +0200
commit2036d7d5e028c08b022390d607a2ead188e7cc90 (patch)
treea527c6409927189d1a5d126ac1576eab7e93caf5 /node/countexecutenode.cpp
parent84691771b54365160f5b1d54033e00187dbbf043 (diff)
parent29f0126a7b8ae3479597252f5056d5e67b6ed10d (diff)
downloadOneRoll-2036d7d5e028c08b022390d607a2ead188e7cc90.tar.gz
OneRoll-2036d7d5e028c08b022390d607a2ead188e7cc90.zip
Merge branch 'rangeInList'
resolved conflicts and merge rangeInList in master. Conflicts: HelpMe.md diceparser.cpp parsingtoolbox.cpp result/result.cpp result/stringresult.h
Diffstat (limited to 'node/countexecutenode.cpp')
-rw-r--r--node/countexecutenode.cpp71
1 files changed, 39 insertions, 32 deletions
diff --git a/node/countexecutenode.cpp b/node/countexecutenode.cpp
index ff3d67b..55b278e 100644
--- a/node/countexecutenode.cpp
+++ b/node/countexecutenode.cpp
@@ -6,11 +6,11 @@
CountExecuteNode::CountExecuteNode()
: m_scalarResult(new ScalarResult()),m_validator(NULL)
{
- m_result = m_scalarResult;
+ m_result = m_scalarResult;
}
void CountExecuteNode::setValidator(Validator* validator)
{
- m_validator = validator;
+ m_validator = validator;
}
CountExecuteNode::~CountExecuteNode()
{
@@ -23,41 +23,48 @@ CountExecuteNode::~CountExecuteNode()
void CountExecuteNode::run(ExecutionNode *previous)
{
m_previousNode = previous;
- if(NULL==previous)
- {
- return;
- }
- DiceResult* previous_result = dynamic_cast<DiceResult*>(previous->getResult());
- if(NULL!=previous_result)
- {
- m_result->setPrevious(previous_result);
- QList<Die*> diceList=previous_result->getResultList();
- qint64 sum = 0;
- foreach(Die* dice,diceList)
- {
- sum+=m_validator->hasValid(dice,true,true);
- }
- m_scalarResult->setValue(sum);
-
-
- if(NULL!=m_nextNode)
- {
- m_nextNode->run(this);
- }
- }
+ if(NULL==previous)
+ {
+ return;
+ }
+ DiceResult* previous_result = dynamic_cast<DiceResult*>(previous->getResult());
+ if(NULL!=previous_result)
+ {
+ m_result->setPrevious(previous_result);
+ QList<Die*> diceList=previous_result->getResultList();
+ qint64 sum = 0;
+ foreach(Die* dice,diceList)
+ {
+ sum+=m_validator->hasValid(dice,true,true);
+ }
+ m_scalarResult->setValue(sum);
+
+
+ if(NULL!=m_nextNode)
+ {
+ m_nextNode->run(this);
+ }
+ }
}
-QString CountExecuteNode::toString() const
+QString CountExecuteNode::toString(bool withlabel) const
{
- return "CountExecuteNode"+m_validator->toString();
+ if(withlabel)
+ {
+ return QString("%1 [label=\"CountExecuteNode %2\"]").arg(m_id).arg(m_validator->toString());
+ }
+ else
+ {
+ return m_id;
+ }
}
qint64 CountExecuteNode::getPriority() const
{
- qint64 priority=0;
- if(NULL!=m_nextNode)
- {
- priority = m_nextNode->getPriority();
- }
+ qint64 priority=0;
+ if(NULL!=m_nextNode)
+ {
+ priority = m_nextNode->getPriority();
+ }
- return priority;
+ return priority;
}