#include "sortresult.h" #include #include "die.h" SortResultNode::SortResultNode() : m_diceResult(new DiceResult) { m_ascending = true; m_result = m_diceResult; } void SortResultNode::run(ExecutionNode* node) { if(NULL==node) { return; } DiceResult* previousDiceResult = static_cast(node->getResult()); if(NULL!=previousDiceResult) { QList diceList=previousDiceResult->getResultList(); QList diceList2=m_diceResult->getResultList(); diceList2 = diceList; if(!m_ascending) { qSort(diceList2.begin(), diceList2.end(), qGreater()); } else { qSort(diceList2.begin(), diceList2.end(), qLess()); } m_diceResult->setResultList(diceList2); if(NULL!=m_nextNode) { m_nextNode->run(this); } } } void SortResultNode::setSortAscending(bool asc) { m_ascending = asc; } bool operator<(Die const &a, Die const& b) { if(a.getValue()