#include "builder.hpp"
#include "gui.hpp"
#include <fmt/core.h>
#include "sound.hpp"
#include "textures.hpp"

int main()
{
  sound::init();
  textures::init();

  GameEngine game{100};
  auto backend = SFMLBackend(game);
  GUI gui(backend);
  auto builder = Builder(gui, game);

  backend.startup();

  while(backend.is_open()) {
    builder.event(BuildEvent::GO);
    gui.main_loop();
    backend.window.display();
  }

  builder.event(BuildEvent::QUIT);
  backend.shutdown();
  return 0;
}