Going into a well triggers a little 'loading screen' that's currently faked. Click on it to continue.

This commit is contained in:
Zed A. Shaw 2025-02-25 03:01:07 -05:00
parent 9d49c6a30b
commit e9accf14e6
8 changed files with 35 additions and 6 deletions

View file

@ -69,14 +69,29 @@ namespace gui {
$rayview.init_shaders();
$rayview.set_position(RAY_VIEW_X, RAY_VIEW_Y);
$rayview.position_camera($player.x + 0.5, $player.y + 0.5);
auto st = textures::get("down_the_well");
st.sprite->setPosition({RAY_VIEW_X, RAY_VIEW_Y});
st.sprite->setScale({0.5, 0.5});
$overlay_ui.render();
}
void MainUI::show_level() {
$show_level = true;
}
void MainUI::draw() {
auto start = std::chrono::high_resolution_clock::now();
if($needs_render) $rayview.render();
$rayview.draw($window);
if($show_level) {
auto st = textures::get("down_the_well");
$window.draw(*st.sprite);
$overlay_ui.show_label("middle", "INTO THE WELL YOU GO...");
} else {
if($needs_render) $rayview.render();
$rayview.draw($window);
}
auto end = std::chrono::high_resolution_clock::now();
auto elapsed = std::chrono::duration<double>(end - start);
@ -136,6 +151,9 @@ namespace gui {
}
void MainUI::mouse(int x, int y) {
$show_level = false;
$level.world->send<Events::GUI>(Events::GUI::STAIRS_DOWN, $level.player, {});
$overlay_ui.close_label("middle");
$overlay_ui.$gui.mouse(x, y);
}
}