void WallComponent::setTiles(bool enable) { Level& level = _obj->scene()->level(); Vec2 tileSize = level.tileMap().tileSize().template cast<float>(); Vec2i first = ((_obj->geom().pos.array() / tileSize.array()).matrix() + Vec2(.5, .5)) .template cast<int>(); int height = _obj->geom().box.sizes().y() / tileSize.y() + .5; _state->game()->log("setTiles(", enable, "): ", first.transpose(), ", ", height); Tile tile = enable? 774: 655; for(unsigned i = 0; i < height; ++i) { level.setTile(first.x(), first.y() + i, 0, tile); if(tile == 774) tile = 838; } }