void Level::Draw(Application &App) {

    if(m_exit) {
        return;
    }

    // Clear screen
    App.Clear();

    // Draw the panels into the buffer
    m_gui.Draw(App);

    App.Draw(sf::Shape::Rectangle(0, 50.0f, 860.0f, 580.0f, sf::Color(0, 0, 0, 130)));

    // If we have a menu pop up, draw it
    if(m_active_menu) {

        // Tints the background panels using a black transparent rectangle that covers the whole screen
        App.Draw(sf::Shape::Rectangle(0, 0, App.GetWidth(), App.GetHeight(), sf::Color(0, 0, 0, 230)));

        // draw active menu on top of the tinted panels
        m_active_menu->Draw(App);
    }

    // Finally, display the buffered frame on screen
    App.Display();
}