本文整理汇总了C++中DamageInfo::getDamageValue方法的典型用法代码示例。如果您正苦于以下问题:C++ DamageInfo::getDamageValue方法的具体用法?C++ DamageInfo::getDamageValue怎么用?C++ DamageInfo::getDamageValue使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DamageInfo
的用法示例。
在下文中一共展示了DamageInfo::getDamageValue方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: dealDamage
void Virus::dealDamage(const DamageInfo &damage) {
if (!isActive()) {
return;
}
double modifier = 0.0;
unsigned char proteinTypes = virusData->getProteinTypes();
if (proteinTypes & damage.getDamageType()) {
modifier = 1.0;
}
VirusColor color = virusData->getVirusColor();
if (color == damage.getDamageColor()) {
modifier *= 2.0;
}
if (modifier > 1.0) {
flash = 45;
flashColor = Color(1.0, 1.0, 1.0);
} else if (modifier > 0.0) {
flash = 22;
flashColor = Color(1.0, 1.0, 1.0);
}
this->hp -= (modifier * damage.getDamageValue());
if (hp <= 0.0) {
hp = 0.0;
dead = true;
VisualEffect *effect = new ShockwaveEffect(position, 10.0, 60,
virusData->getColor());
map->addVisualEffect(effect);
effect = new BubbleEffect(position, position, CELL_RADIUS / 3.0,
60, virusData->getColor());
map->addVisualEffect(effect);
}
}