@ -10,22 +10,20 @@ LevelManager::LevelManager() {
}
size_t LevelManager : : create_level ( ) {
GameLevel level ;
level . index = $ levels . size ( ) ;
auto world = make_shared < DinkyECS : : World > ( ) ;
save : : load_configs ( * world ) ;
level . world = make_shared < DinkyECS : : World > ( ) ;
save : : load_configs ( * level . world ) ;
auto map = make_shared < Map > ( GAME_MAP_X , GAME_MAP_Y ) ;
WorldBuilder builder ( * map ) ;
builder . generate ( * world ) ;
level . map = make_shared < Map > ( GAME_MAP_X , GAME_MAP_Y ) ;
WorldBuilder builder ( * level . map ) ;
builder . generate ( * level . world ) ;
size_t index = $ levels . size ( ) ;
level . lights = make_shared < LightRender > ( level . map - > width ( ) , level . map - > height ( ) ) ;
$ levels . emplace_back ( index , map , world ,
make_shared < LightRender > ( map - > width ( ) , map - > height ( ) ) ) ;
$ levels . push_back ( level ) ;
dbc : : check ( level . index = = $ levels . size ( ) - 1 , " Level index is not the same as $levels.size() - 1, off by one error " ) ;
return level . index ;
dbc : : check ( index = = $ levels . size ( ) - 1 , " Level index is not the same as $levels.size() - 1, off by one error " ) ;
return index ;
}
GameLevel & LevelManager : : next ( ) {