本文整理汇总了C++中CCard::isUnique方法的典型用法代码示例。如果您正苦于以下问题:C++ CCard::isUnique方法的具体用法?C++ CCard::isUnique怎么用?C++ CCard::isUnique使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CCard
的用法示例。
在下文中一共展示了CCard::isUnique方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: showCardLabelToolTip
void CCardLabelNexus::showCardLabelToolTip(const CCard &card, int x, int y)
{
if (!mCardLabelToolTip->isVisible() && card.isValid())
{
const CGlobalConfig &cfg = CGlobalConfig::getCfg();
const CCardTable &cardTable = CCardTable::getCardTable();
mCardLabelToolTipSummonLabel->setVisible(false);
const QList<CCardSkill> &skills = card.getSkills();
QStringList skillDescr;
skillDescr.append(QString("<b>%1</b><br>").arg(card.getName()));
QString subTitleStr = card.isUnique() ? "Unique " : "";
switch(card.getFaction())
{
case EImperialFaction: subTitleStr += "Imperial"; break;
case EBloodthirstyFaction: subTitleStr += "Bloodthirsty"; break;
case EXenoFaction: subTitleStr += "Xeno"; break;
case ERighteousFaction: subTitleStr += "Righteous"; break;
case ERaiderFaction: subTitleStr += "Raider"; break;
default: break;
}
skillDescr.append(QString("<i>%1</i><table valign='middle'>").arg(subTitleStr));
for (int i = 0; i < skills.size(); ++i)
{
const CSkill& curSkill = cardTable.getSkillForId(skills.at(i).getId());
if (curSkill.isValid())
{
skillDescr.append(QString("<tr><td><img src='%1.png'/></td><td> %2</td></tr>")
.arg(cfg.getResourcePicturePath() + curSkill.getPicture())
.arg(curSkill.makeSignature(skills.at(i), true)));
if (curSkill.isSummon())
{
const CCard &summonCard = cardTable.getCardForId(skills.at(i).getX());
mCardLabelToolTipSummonLabel->setCard(summonCard);
mCardLabelToolTipSummonLabel->setVisible(true);
}
}
}
skillDescr.append(QString("</table>"));
mCardLabelToolTipText->setText(skillDescr.join(""));
mCardLabelToolTipLayout->activate();
mCardLabelToolTip->adjustSize();
int reqW = mCardLabelToolTip->width() + 5;
int reqH = mCardLabelToolTip->height() + 20;
int xRel = (QApplication::desktop()->width() - x < reqW)
? -reqW
: 5;
int yRel = (QApplication::desktop()->height() - y < reqH)
? -reqH
: 20;
mCardLabelToolTip->setGeometry(x + xRel, y + yRel, 80, 40);
mCardLabelToolTip->setVisible(true);
}
}
示例2: checkCard
bool CCardSearchParameters::checkCard(const CCard &card, int &/*num*/) const
{
bool pass(true);
if (pass)
{
pass = card.getLwCsName().contains(mLwCsName);
}
if (pass)
{
switch(mAttackCompare)
{
case ECompareLarger: pass = qMax(0, card.getAttack()) > mAttackValue; break;
case ECompareEqualOrLarger: pass = qMax(0, card.getAttack()) >= mAttackValue; break;
case ECompareEqual: pass = qMax(0, card.getAttack()) == mAttackValue; break;
case ECompareEqualOrLesser: pass = qMax(0, card.getAttack()) <= mAttackValue; break;
case ECompareLesser: pass = qMax(0, card.getAttack()) < mAttackValue; break;
default: pass = false; break;
}
}
if (pass)
{
switch(mHpCompare)
{
case ECompareLarger: pass = qMax(0, card.getHealth()) > mHpValue; break;
case ECompareEqualOrLarger: pass = qMax(0, card.getHealth()) >= mHpValue; break;
case ECompareEqual: pass = qMax(0, card.getHealth()) == mHpValue; break;
case ECompareEqualOrLesser: pass = qMax(0, card.getHealth()) <= mHpValue; break;
case ECompareLesser: pass = qMax(0, card.getHealth()) < mHpValue; break;
default: pass = false; break;
}
}
if (pass && mRarityMask != 0)
{
switch (card.getRarity())
{
case ELegendaryRarity: pass = (mRarityMask & 0x1) != 0; break;
case ERareRarity: pass = (mRarityMask & 0x2) != 0; break;
case EUncommonRarity: pass = (mRarityMask & 0x4) != 0; break;
case ECommonRarity: pass = (mRarityMask & 0x8) != 0; break;
default: pass = false; break;
}
}
if (pass && mTypeMask != 0)
{
switch (card.getType())
{
case EAssaultType: pass = (mTypeMask & 0x1) != 0; break;
case EStructureType: pass = (mTypeMask & 0x2) != 0; break;
case ECommanderType: pass = (mTypeMask & 0x4) != 0; break;
case EActionType: pass = (mTypeMask & 0x8) != 0; break;
default: pass = false; break;
}
}
if (pass && mFactionMask != 0)
{
switch (card.getFaction())
{
case EBloodthirstyFaction: pass = (mFactionMask & 0x1) != 0; break;
case EImperialFaction: pass = (mFactionMask & 0x2) != 0; break;
case ERaiderFaction: pass = (mFactionMask & 0x4) != 0; break;
case ERighteousFaction: pass = (mFactionMask & 0x8) != 0; break;
case EXenoFaction: pass = (mFactionMask & 0x10) != 0; break;
default: pass = false; break;
}
}
if (pass && mTimerMask != 0)
{
switch (card.getDelay())
{
case 0: pass = (mTimerMask & 0x1) != 0; break;
case 1: pass = (mTimerMask & 0x2) != 0; break;
case 2: pass = (mTimerMask & 0x4) != 0; break;
case 3: pass = (mTimerMask & 0x8) != 0; break;
case 4: pass = (mTimerMask & 0x10) != 0; break;
default: pass = false; break;
}
}
if (pass && mCheckUpgradeLevel)
{
switch(mUpgradeLevel)
{
case 0: pass = card.getUpgradeLevel() == EUpgradeNotAvailable; break;
case 1: pass = card.getUpgradeLevel() == EUpgradeLevel1; break;
case 2: pass = card.getUpgradeLevel() == EUpgradeLevel2; break;
default: pass = false; break;
}
}
if (pass && mIsUnique)
{
pass = card.isUnique();
//.........这里部分代码省略.........