Level traversal works, but it's very immediate. Next is a little 'confirm level' modal and a transition screen.
This commit is contained in:
parent
1886c99920
commit
29e6d45dc6
14 changed files with 98 additions and 43 deletions
|
@ -368,19 +368,18 @@ void Raycaster::update_sprite(DinkyECS::Entity ent, components::Sprite& sprite)
|
|||
$sprites.insert_or_assign(ent, sprite_txt);
|
||||
}
|
||||
|
||||
void Raycaster::set_level(GameLevel level) {
|
||||
void Raycaster::update_level(GameLevel level) {
|
||||
$level = level;
|
||||
|
||||
auto& tiles = $level.map->tiles();
|
||||
auto world = $level.world;
|
||||
auto& player = world->get_the<components::Player>();
|
||||
$map = textures::convert_char_to_texture(tiles.$tile_ids);
|
||||
|
||||
world->query<components::Sprite>([&](const auto ent, auto& sprite) {
|
||||
$level.world->query<components::Sprite>([&](const auto ent, auto& sprite) {
|
||||
// player doesn't need a sprite
|
||||
if(player.entity == ent) return;
|
||||
if($level.player == ent) return;
|
||||
fmt::println("entity {} will have sprite named {}", ent, sprite.name);
|
||||
auto sprite_txt = textures::get(sprite.name);
|
||||
$sprites.try_emplace(ent, sprite_txt);
|
||||
$sprites.insert_or_assign(ent, sprite_txt);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue