Example #1
0
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;
	}
}