本文整理汇总了C++中Tile::addEntity方法的典型用法代码示例。如果您正苦于以下问题:C++ Tile::addEntity方法的具体用法?C++ Tile::addEntity怎么用?C++ Tile::addEntity使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Tile
的用法示例。
在下文中一共展示了Tile::addEntity方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: tryTakeoverCell
bool Virus::tryTakeoverCell(Cell *cell) {
bool success = false;
if (!reproduceCooldown) {
Mantis::RandomNumberGenerator *randomGenerator =
Mantis::RandomNumberGenerator::instance();
if (!cell->isTaken()) {
unsigned char proteinTypes = virusData->getProteinTypes();
if (proteinTypes & cell->getProteinType()) {
double p = randomGenerator->getProbability();
if (p < 0.75) {
takenCell = cell;
takenCell->notifyInvasion();
state = VIRUSSTATE_TAKINGCELL;
Tile *previous = map->getTile(position);
Tile *current = map->getTile(takenCell->getPosition());
previous->removeEntity(this);
current->addEntity(this);
goTo(takenCell->getPosition());
success = true;
} else {
reproduceCooldown = 300;
}
}
}
}
return success;
}
示例2: assert
void Entity::updateEnclosingTile()
{
Tile* t = Play_ST::G_viewport.enclosingTile(pos_);
assert(t != 0);
if (t != cur_tile_) {
t->addEntity(this);
if (cur_tile_ != 0) { // cur_tile_ points to nothing
// when the game first starts
cur_tile_->removeEntity(this);
}
cur_tile_ = t;
}
}