diff options
| author | 2021-07-18 19:01:20 +0200 | |
|---|---|---|
| committer | 2021-12-11 18:31:23 +0100 | |
| commit | 7be8941fc9d5b819860d80c37a7401bee60432cc (patch) | |
| tree | 7324c9174541f88d1a6df8e68c67097d35e50c42 /validatorlist.cpp | |
| parent | 31de5347732e16864cadfe9774c7e9b479b99f93 (diff) | |
| download | OneRoll-7be8941fc9d5b819860d80c37a7401bee60432cc.tar.gz OneRoll-7be8941fc9d5b819860d80c37a7401bee60432cc.zip | |
Fix switch/case operator.
Diffstat (limited to 'validatorlist.cpp')
| -rw-r--r-- | validatorlist.cpp | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/validatorlist.cpp b/validatorlist.cpp index b665328..cb650df 100644 --- a/validatorlist.cpp +++ b/validatorlist.cpp @@ -56,7 +56,12 @@ DiceResult* getDiceResult(Result* result) auto dice= dynamic_cast<DiceResult*>(result); if(nullptr == dice) { - qFatal("Error, no dice result"); + auto value= result->getResult(Dice::RESULT_TYPE::SCALAR).toInt(); + dice= new DiceResult(); + auto die= new Die(); + die->setValue(value); + dice->insertResult(die); + qWarning("Error, no dice result"); // TODO: manage error here. } return dice; @@ -297,9 +302,17 @@ void ValidatorList::validResult(Result* result, bool recursive, bool unlight, DiceResult* diceResult= getDiceResult(result); if(nullptr == diceResult) break; - for(auto die : diceResult->getResultList()) + + if(m_validatorList.size() > 1) { - validResult.appendValidDice(die, die->getValue()); + for(auto const& die : qAsConst(diceResult->getResultList())) + { + validResult.appendValidDice(die, die->getValue()); + } + } + else + { + validResult.appendValidDice(new Die(die), die.getValue()); } } } @@ -309,7 +322,7 @@ void ValidatorList::validResult(Result* result, bool recursive, bool unlight, DiceResult* diceResult= getDiceResult(result); if(nullptr == diceResult) break; - for(auto die : diceResult->getResultList()) + for(auto const& die : qAsConst(diceResult->getResultList())) { auto score= validator->hasValid(die, recursive, unlight); if(score) @@ -324,7 +337,7 @@ void ValidatorList::validResult(Result* result, bool recursive, bool unlight, DiceResult* diceResult= getDiceResult(result); if(nullptr == diceResult) break; - for(auto die : diceResult->getResultList()) + for(auto const& die : qAsConst(diceResult->getResultList())) { auto score= validator->hasValid(die, recursive, unlight); if(score) @@ -346,7 +359,7 @@ void ValidatorList::validResult(Result* result, bool recursive, bool unlight, if(all) { validResult.setAllTrue(true); - for(auto die : diceResult->getResultList()) + for(auto die : qAsConst(diceResult->getResultList())) { validResult.appendValidDice(die, die->getValue()); } @@ -365,7 +378,7 @@ void ValidatorList::validResult(Result* result, bool recursive, bool unlight, if(any) { validResult.setAllTrue(true); - for(auto die : diceResult->getResultList()) + for(auto die : qAsConst(diceResult->getResultList())) { validResult.appendValidDice(die, die->getValue()); } @@ -380,7 +393,7 @@ void ValidatorList::validResult(Result* result, bool recursive, bool unlight, int i= 0; ValidatorResult finalResult; - for(auto vec : validityData) + for(const auto& vec : validityData) { auto diceList= vec.validDice(); if(i == 0) |