本文整理汇总了C++中Spell::isValid方法的典型用法代码示例。如果您正苦于以下问题:C++ Spell::isValid方法的具体用法?C++ Spell::isValid怎么用?C++ Spell::isValid使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Spell
的用法示例。
在下文中一共展示了Spell::isValid方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetFocusHeroes
void Interface::Basic::EventCastSpell(void)
{
Heroes* hero = GetFocusHeroes();
if(hero)
{
const Spell spell = hero->OpenSpellBook(SpellBook::ADVN, true);
// apply cast spell
if(spell.isValid())
{
hero->ActionSpellCast(spell);
iconsPanel.SetRedraw();
}
}
}
示例2: CanTranscribeScroll
bool HeroBase::CanTranscribeScroll(const Artifact & art) const
{
Spell spell = art.GetSpell();
if(spell.isValid() && CanCastSpell(spell))
{
int learning = GetLevelSkill(Skill::Secondary::LEARNING);
return ((3 < spell.Level() && Skill::Level::EXPERT == learning) ||
(3 == spell.Level() && Skill::Level::ADVANCED <= learning) ||
(3 > spell.Level() && Skill::Level::BASIC <= learning));
}
return false;
}
示例3: LoadDefaults
void HeroBase::LoadDefaults(int type, int race)
{
if(Race::ALL & race)
{
// fixed default primary skills
Skill::Primary::LoadDefaults(type, race);
// fixed default spell
switch(type)
{
case HeroBase::CAPTAIN:
{
// force add spell book
SpellBookActivate();
Spell spell = Skill::Primary::GetInitialSpell(race);
if(spell.isValid())
AppendSpellToBook(spell, true);
}
break;
case HeroBase::HEROES:
{
Spell spell = Skill::Primary::GetInitialSpell(race);
if(spell.isValid())
{
SpellBookActivate();
AppendSpellToBook(spell, true);
}
}
break;
default: break;
}
}
}
示例4: TranscribeScroll
void HeroBase::TranscribeScroll(const Artifact & art)
{
Spell spell = art.GetSpell();
if(spell.isValid())
{
// add spell
spell_book.Append(spell);
// remove art
bag_artifacts.RemoveScroll(art);
// reduce mp and resource
SpellCasted(spell);
}
}