|
|
|
@ -46,19 +46,16 @@ namespace gui { |
|
|
|
|
void FSM::START(Event ) { |
|
|
|
|
|
|
|
|
|
$main_ui.update_level($level); |
|
|
|
|
$level.world->set_the<Debug>({}); |
|
|
|
|
$main_ui.init(); |
|
|
|
|
$loot_ui.init(); |
|
|
|
|
|
|
|
|
|
// BUG: maybe this is a function on main_ui?
|
|
|
|
|
auto cell = $main_ui.$overlay_ui.$gui.cell_for("left"); |
|
|
|
|
$debug_ui.init(cell); |
|
|
|
|
$debug_ui.update_level($level); |
|
|
|
|
|
|
|
|
|
$combat_ui.init(); |
|
|
|
|
$status_ui.init(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$boss_fight_ui = $levels.create_bossfight($level.world); |
|
|
|
|
$boss_fight_ui->init(); |
|
|
|
|
|
|
|
|
@ -267,7 +264,7 @@ namespace gui { |
|
|
|
|
event(Event::STAIRS_DOWN); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
$debug_ui.mouse(pos.x, pos.y, false); |
|
|
|
|
if($debug_ui.active) $debug_ui.mouse(pos.x, pos.y, false); |
|
|
|
|
$combat_ui.mouse(pos.x, pos.y, false); |
|
|
|
|
$status_ui.mouse(pos.x, pos.y, false); |
|
|
|
|
$main_ui.mouse(pos.x, pos.y, false); |
|
|
|
@ -276,7 +273,7 @@ namespace gui { |
|
|
|
|
} |
|
|
|
|
} else if(const auto* mouse = ev->getIf<sf::Event::MouseMoved>()) { |
|
|
|
|
sf::Vector2f pos = $window.mapPixelToCoords(mouse->position); |
|
|
|
|
$debug_ui.mouse(pos.x, pos.y, true); |
|
|
|
|
if($debug_ui.active) $debug_ui.mouse(pos.x, pos.y, true); |
|
|
|
|
$combat_ui.mouse(pos.x, pos.y, true); |
|
|
|
|
$status_ui.mouse(pos.x, pos.y, true); |
|
|
|
|
$main_ui.mouse(pos.x, pos.y, true); |
|
|
|
@ -321,7 +318,6 @@ namespace gui { |
|
|
|
|
if(!sound::playing("ambient_1")) sound::play("ambient_1", true); |
|
|
|
|
$debug_ui.debug(); |
|
|
|
|
shaders::reload(); |
|
|
|
|
dbc::log("save map!"); |
|
|
|
|
$map_ui.save_map("map.txt", $main_ui.$compass_dir); |
|
|
|
|
break; |
|
|
|
|
case KEY::O: |
|
|
|
@ -340,15 +336,23 @@ namespace gui { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void FSM::debug_render() { |
|
|
|
|
auto start = $debug_ui.time_start(); |
|
|
|
|
$main_ui.render(); |
|
|
|
|
$debug_ui.sample_time(start); |
|
|
|
|
$debug_ui.render($window); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void FSM::draw_gui() { |
|
|
|
|
if(in_state(State::NEXT_LEVEL)) { |
|
|
|
|
$boss_fight_ui->render($window); |
|
|
|
|
} else { |
|
|
|
|
// BUG: maybe pass the stats to main_ui for this?
|
|
|
|
|
auto start = $debug_ui.time_start(); |
|
|
|
|
$main_ui.render(); |
|
|
|
|
$debug_ui.sample_time(start); |
|
|
|
|
$debug_ui.render($window); |
|
|
|
|
if($debug_ui.active) { |
|
|
|
|
debug_render(); |
|
|
|
|
} else { |
|
|
|
|
$main_ui.render(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$status_ui.render($window); |
|
|
|
|
$combat_ui.render($window); |
|
|
|
|
|
|
|
|
@ -416,7 +420,6 @@ namespace gui { |
|
|
|
|
event(Event::START_COMBAT); |
|
|
|
|
break; |
|
|
|
|
case eGUI::ENEMY_SPAWN: |
|
|
|
|
$debug_ui.update_level($level); |
|
|
|
|
$main_ui.update_level($level); |
|
|
|
|
run_systems(); |
|
|
|
|
break; |
|
|
|
@ -469,7 +472,6 @@ namespace gui { |
|
|
|
|
$levels.create_level($level.world); |
|
|
|
|
$level = $levels.next(); |
|
|
|
|
|
|
|
|
|
$debug_ui.update_level($level); |
|
|
|
|
$status_ui.update_level($level); |
|
|
|
|
$map_ui.update_level($level); |
|
|
|
|
$mini_map.update_level($level); |
|
|
|
|