|
|
|
@ -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($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); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|