aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/node
diff options
context:
space:
mode:
Diffstat (limited to 'node')
-rw-r--r--node/dicerollernode.cpp2
-rw-r--r--node/dicerollernode.h2
-rw-r--r--node/helpnode.cpp20
-rw-r--r--node/helpnode.h1
-rw-r--r--node/scalaroperatornode.cpp12
-rw-r--r--node/scalaroperatornode.h2
6 files changed, 27 insertions, 12 deletions
diff --git a/node/dicerollernode.cpp b/node/dicerollernode.cpp
index 27750df..8e86cce 100644
--- a/node/dicerollernode.cpp
+++ b/node/dicerollernode.cpp
@@ -47,7 +47,7 @@ void DiceRollerNode::run(ExecutionNode* previous)
Result* result=previous->getResult();
if(NULL!=result)
{
- m_diceCount = result->getScalar();
+ m_diceCount = result->getResult(Result::SCALAR).toReal();
m_result->setPrevious(result);
for(quint64 i=0; i < m_diceCount ; ++i)
diff --git a/node/dicerollernode.h b/node/dicerollernode.h
index d46f8ba..67d4c2d 100644
--- a/node/dicerollernode.h
+++ b/node/dicerollernode.h
@@ -16,7 +16,7 @@ private:
QMutex* m_mutex;
DiceResult* m_sharedDiceResult;
int m_faces;
- int m_diceCount;
+ quint64 m_diceCount;
};
/**
diff --git a/node/helpnode.cpp b/node/helpnode.cpp
index a11c2b3..a46d29a 100644
--- a/node/helpnode.cpp
+++ b/node/helpnode.cpp
@@ -2,21 +2,35 @@
HelpNode::HelpNode()
{
+ m_result = new StringResult();
}
void HelpNode::run(ExecutionNode* previous)
{
+ StringResult* txtResult = dynamic_cast<StringResult*>(m_result);
+
+ qDebug() << m_result->hasResultOfType(Result::SCALAR) << m_result->hasResultOfType(Result::STRING);
if(NULL != previous)
{
+ if(previous->getResult() == NULL)
+ {
+ txtResult->setText(toString());
+ }
+ else
+ {
+ txtResult->setText(previous->getHelp());
+ }
+ m_result->setPrevious(previous->getResult());
}
- else
- {
+ if(NULL!=m_nextNode)
+ {
+ m_nextNode->run(this);
}
}
QString HelpNode::toString()const
{
- return QObject::tr("see full documentation at: <a href=\"https://github.com/obiwankennedy/DiceParser/blob/master/HelpMe.md\">https://github.com/obiwankennedy/DiceParser/blob/master/HelpMe.md</a>");
+ return QObject::tr("Rolisteam Dice Parser: Full documentation at: https://github.com/obiwankennedy/DiceParser/blob/master/HelpMe.md");
}
qint64 HelpNode::getPriority() const
diff --git a/node/helpnode.h b/node/helpnode.h
index f8b3f78..27f38b3 100644
--- a/node/helpnode.h
+++ b/node/helpnode.h
@@ -32,6 +32,7 @@ public:
* @return
*/
virtual qint64 getPriority() const;
+
};
#endif // HELPNODE_H
diff --git a/node/scalaroperatornode.cpp b/node/scalaroperatornode.cpp
index 97d17d9..fb7a110 100644
--- a/node/scalaroperatornode.cpp
+++ b/node/scalaroperatornode.cpp
@@ -5,7 +5,7 @@
ScalarOperatorNode::ScalarOperatorNode()
- : m_internalNode(NULL),m_myScalarResult(new ScalarResult())
+ : m_internalNode(NULL),m_scalarResult(new ScalarResult())
{
m_scalarOperationList.insert('+',PLUS);
m_scalarOperationList.insert('-',MINUS);
@@ -13,7 +13,7 @@ ScalarOperatorNode::ScalarOperatorNode()
m_scalarOperationList.insert('*',MULTIPLICATION);
m_scalarOperationList.insert('/',DIVIDE);
- m_result = m_myScalarResult;
+ m_result = m_scalarResult;
}
void ScalarOperatorNode::run(ExecutionNode* previous)
@@ -42,16 +42,16 @@ void ScalarOperatorNode::run(ExecutionNode* previous)
switch(m_myOperator)
{
case PLUS:
- m_myScalarResult->setValue(add(previousResult->getScalar(),internalResult->getScalar()));
+ m_scalarResult->setValue(add(previousResult->getResult(Result::SCALAR).toReal(),internalResult->getResult(Result::SCALAR).toReal()));
break;
case MINUS:
- m_myScalarResult->setValue(substract(previousResult->getScalar(),internalResult->getScalar()));
+ m_scalarResult->setValue(substract(previousResult->getResult(Result::SCALAR).toReal(),internalResult->getResult(Result::SCALAR).toReal()));
break;
case MULTIPLICATION:
- m_myScalarResult->setValue(multiple(previousResult->getScalar(),internalResult->getScalar()));
+ m_scalarResult->setValue(multiple(previousResult->getResult(Result::SCALAR).toReal(),internalResult->getResult(Result::SCALAR).toReal()));
break;
case DIVIDE:
- m_myScalarResult->setValue(divide(previousResult->getScalar(),internalResult->getScalar()));
+ m_scalarResult->setValue(divide(previousResult->getResult(Result::SCALAR).toReal(),internalResult->getResult(Result::SCALAR).toReal()));
break;
default:
break;
diff --git a/node/scalaroperatornode.h b/node/scalaroperatornode.h
index 2cd8405..14f759b 100644
--- a/node/scalaroperatornode.h
+++ b/node/scalaroperatornode.h
@@ -30,7 +30,7 @@ private:
ScalarOperator m_myOperator;
ExecutionNode* m_internalNode;
QMap<QChar,ScalarOperator> m_scalarOperationList;
- ScalarResult* m_myScalarResult;
+ ScalarResult* m_scalarResult;
};
#endif // SCALAROPERATORNODE_H