Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void DeckList::updateDeckHash()
- {
- QStringList cardList;
- for (int i = 0; i < root->size(); i++) {
- InnerDecklistNode *node = dynamic_cast<InnerDecklistNode *>(root->at(i));
- for (int j = 0; j < node->size(); j++) {
- DecklistCardNode *card = dynamic_cast<DecklistCardNode *>(node->at(j));
- for (int k = 0; k < card->getNumber(); ++k)
- cardList.append((node->getName() == "side" ? "SB:" : "") + card->getName().toLower());
- }
- }
- cardList.sort();
- QByteArray deckHashArray = QCryptographicHash::hash(cardList.join(";").toUtf8(), QCryptographicHash::Sha1);
- quint64 number = (((quint64) (unsigned char) deckHashArray[0]) << 32)
- + (((quint64) (unsigned char) deckHashArray[1]) << 24)
- + (((quint64) (unsigned char) deckHashArray[2] << 16))
- + (((quint64) (unsigned char) deckHashArray[3]) << 8)
- + (quint64) (unsigned char) deckHashArray[4];
- deckHash = QString::number(number, 32).rightJustified(8, '0');
- emit deckHashChanged();
- }
Add Comment
Please, Sign In to add comment