From 1c875b651df3afafe1df6b8ae412124d67e526a6 Mon Sep 17 00:00:00 2001 From: Renaud G Date: Thu, 5 Sep 2019 00:40:40 +0200 Subject: Copy die but prevent them to be displayed twice. --- diceparser.cpp | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) (limited to 'diceparser.cpp') diff --git a/diceparser.cpp b/diceparser.cpp index ea8f251..702c47f 100644 --- a/diceparser.cpp +++ b/diceparser.cpp @@ -539,6 +539,7 @@ void DiceParser::getDiceResultFromAllInstruction(QList& resu void DiceParser::getLastDiceResult(QList& diceValuesList, bool& homogeneous) { + QStringList alreadySeenDice; for(auto start : m_startNodes) { ExportedDiceResult diceValues; @@ -559,23 +560,24 @@ void DiceParser::getLastDiceResult(QList& diceValuesList, bo ListDiceResult listpair; for(auto& die : diceResult->getResultList()) { - if(!die->hasBeenDisplayed()) + if(die->hasBeenDisplayed() || alreadySeenDice.contains(die->getUuid())) + continue; + + QList valuesResult; + valuesResult.append(die->getValue()); + die->displayed(); + face= die->getFaces(); + if(die->hasChildrenValue()) { - QList valuesResult; - valuesResult.append(die->getValue()); - die->displayed(); - face= die->getFaces(); - if(die->hasChildrenValue()) + for(qint64& i : die->getListValue()) { - for(qint64& i : die->getListValue()) - { - valuesResult.append(i); - } + valuesResult.append(i); } - HighLightDice hlDice(valuesResult, die->isHighlighted(), die->getColor(), - die->hasBeenDisplayed(), 0); - listpair.append(hlDice); } + HighLightDice hlDice(valuesResult, die->isHighlighted(), die->getColor(), + die->hasBeenDisplayed(), 0); + listpair.append(hlDice); + alreadySeenDice << die->getUuid(); } if(!listpair.isEmpty()) { -- cgit v1.2.3-70-g09d2