* Initializes the array of tiles and creates a pathfinding object. * @param mapsize_x * @param mapsize_y * @param mapsize_z */
| 446 | * @param mapsize_z |
| 447 | */ |
| 448 | void SavedBattleGame::initMap(int mapsize_x, int mapsize_y, int mapsize_z) |
| 449 | { |
| 450 | if (!_nodes.empty()) |
| 451 | { |
| 452 | for (int i = 0; i < _mapsize_z * _mapsize_y * _mapsize_x; ++i) |
| 453 | { |
| 454 | delete _tiles[i]; |
| 455 | } |
| 456 | delete[] _tiles; |
| 457 | |
| 458 | for (std::vector<Node*>::iterator i = _nodes.begin(); i != _nodes.end(); ++i) |
| 459 | { |
| 460 | delete *i; |
| 461 | } |
| 462 | |
| 463 | _nodes.clear(); |
| 464 | _mapDataSets.clear(); |
| 465 | } |
| 466 | _mapsize_x = mapsize_x; |
| 467 | _mapsize_y = mapsize_y; |
| 468 | _mapsize_z = mapsize_z; |
| 469 | _tiles = new Tile*[_mapsize_z * _mapsize_y * _mapsize_x]; |
| 470 | /* create tile objects */ |
| 471 | for (int i = 0; i < _mapsize_z * _mapsize_y * _mapsize_x; ++i) |
| 472 | { |
| 473 | Position pos; |
| 474 | getTileCoords(i, &pos.x, &pos.y, &pos.z); |
| 475 | _tiles[i] = new Tile(pos); |
| 476 | } |
| 477 | |
| 478 | } |
| 479 | |
| 480 | /** |
| 481 | * Initializes the map utilities. |
no test coverage detected