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
19
main_ui.cpp
19
main_ui.cpp
|
@ -4,9 +4,8 @@
|
|||
namespace gui {
|
||||
using namespace components;
|
||||
|
||||
MainUI::MainUI(sf::RenderWindow& window, GameLevel level) :
|
||||
MainUI::MainUI(sf::RenderWindow& window) :
|
||||
$window(window),
|
||||
$level(level),
|
||||
$overlay_ui($level),
|
||||
$rayview(RAY_VIEW_WIDTH, RAY_VIEW_HEIGHT)
|
||||
{
|
||||
|
@ -121,18 +120,20 @@ namespace gui {
|
|||
$camera.abort_plan($rayview);
|
||||
}
|
||||
|
||||
void MainUI::generate_map() {
|
||||
auto& player = $level.world->get_the<Player>();
|
||||
auto& player_position = $level.world->get<Position>(player.entity);
|
||||
$player = player_position.location;
|
||||
$rayview.set_level($level);
|
||||
}
|
||||
|
||||
void MainUI::dead_entity(DinkyECS::Entity entity) {
|
||||
auto &sprite = $level.world->get<Sprite>(entity);
|
||||
$rayview.update_sprite(entity, sprite);
|
||||
}
|
||||
|
||||
void MainUI::update_level(GameLevel level) {
|
||||
$level = level;
|
||||
auto& player_position = $level.world->get<Position>($level.player);
|
||||
$player = player_position.location;
|
||||
$rayview.update_level($level);
|
||||
$rayview.position_camera($player.x + 0.5, $player.y + 0.5);
|
||||
dirty();
|
||||
}
|
||||
|
||||
void MainUI::mouse(int x, int y) {
|
||||
$overlay_ui.$gui.mouse(x, y);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue