示例#1
0
vector<Vec2> Level::getVisibleTiles(Vec2 pos, VisionId vision) const {
  return filter(getFieldOfView(vision).getVisibleTiles(pos),
      [&](Vec2 v) { return isWithinVision(pos, v, vision); });
}
示例#2
0
vector<Vec2> Level::getVisibleTiles(Vec2 pos, VisionInfo vision) const {
    return filter(fieldOfView.at(int(vision) - 1).getVisibleTiles(pos),
        [this, pos](Vec2 v) { return isWithinVision(pos, v); });
}
示例#3
0
bool Level::canSee(Vec2 from, Vec2 to, VisionId vision) const {
  return isWithinVision(from, to, vision) && getFieldOfView(vision).canSee(from, to);
}
示例#4
0
bool Level::canSee(const Creature* c, Vec2 pos) const {
  return isWithinVision(c->getPosition(), pos) 
    && fieldOfView.at(int(c->getVisionInfo()) - 1).canSee(c->getPosition(), pos);
}