HexagonalBoard::HexagonalBoard(unsigned layers) { if(layers > 0){ generateTiles(layers); buildTiles(layers); buildEdges(); buildVertices(); //applyResourcesAndDie(); } }
TileManager::TileManager(): columns_(0), rows_(0), tileHolder_(nullptr), tiledWorld_(nullptr) { //ctor tileSize_ = sf::Vector2f(32.0f, 32.0f); tileHolder_ = Scene::instance().createGameObject<GameObject>("TileHolder"); tileHolder_->setPosition(sf::Vector2f(50.0f, 50.0f)); tiledWorld_ = Scene::instance().createGameObject<TiledWorld>("TiledWorld"); tiledWorld_->loadTiledMap(); columns_ = tiledWorld_->getTiledFile().width; rows_ = tiledWorld_->getTiledFile().height; generateTiles(columns_, rows_); }
TileMap *RoomGenerator::generateTileMap(int w, int h, Algorithm algorithm, Random &random) { TileMap *tileMap = new TileMap(w, h); do { switch(algorithm) { case ALGORITHM_BROWNIAN: generateBrownianSolidity(tileMap, random); break; case ALGORITHM_CASTLEMOOD: generateCastleMood(tileMap, random); break; } } while (!validateSolidity(tileMap)); generateTiles(tileMap, random); return tileMap; }