Don't re-run the whole next level thing on every spawned item. Closes #48
This commit is contained in:
parent
b28b76ee2d
commit
a418b48e94
2 changed files with 5 additions and 7 deletions
|
@ -446,11 +446,12 @@ namespace gui {
|
|||
case eGUI::COMBAT_START:
|
||||
event(Event::START_COMBAT);
|
||||
break;
|
||||
case eGUI::ENTITY_SPAWN:
|
||||
$main_ui.$rayview.update_level($level);
|
||||
case eGUI::ENTITY_SPAWN: {
|
||||
auto& sprite = world.get<components::Sprite>(entity);
|
||||
$main_ui.$rayview.update_sprite(entity, sprite);
|
||||
$main_ui.dirty();
|
||||
run_systems();
|
||||
break;
|
||||
} break;
|
||||
case eGUI::NO_NEIGHBORS:
|
||||
event(Event::STOP_COMBAT);
|
||||
break;
|
||||
|
|
|
@ -417,7 +417,6 @@ void Raycaster::draw(sf::RenderTarget& target) {
|
|||
}
|
||||
|
||||
void Raycaster::update_sprite(DinkyECS::Entity ent, components::Sprite& sprite) {
|
||||
// fmt::println("entity UPDATE SPRITE {} will have sprite named {}", ent, sprite.name);
|
||||
auto sprite_txt = textures::get(sprite.name);
|
||||
$sprites.insert_or_assign(ent, sprite_txt);
|
||||
}
|
||||
|
@ -433,9 +432,7 @@ void Raycaster::update_level(GameLevel level) {
|
|||
$level.world->query<components::Sprite>([&](const auto ent, auto& sprite) {
|
||||
// player doesn't need a sprite
|
||||
if($level.player == ent) return;
|
||||
// fmt::println("entity {} will have sprite named {}", ent, sprite.name);
|
||||
auto sprite_txt = textures::get(sprite.name);
|
||||
$sprites.insert_or_assign(ent, sprite_txt);
|
||||
update_sprite(ent, sprite);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue