#pragma once
#include "levelmanager.hpp"
#include <SFML/Graphics/RenderWindow.hpp>
#include <SFML/Graphics/Font.hpp>
#include "guecs.hpp"
#include "events.hpp"

namespace gui {
  class CombatUI {
    public:
      guecs::UI $gui;
      GameLevel $level;

      CombatUI(GameLevel level);

      void init();
      void render(sf::RenderWindow& window);
      void update_level(GameLevel &level);
      bool mouse(float x, float y, bool hover);
      DinkyECS::Entity make_button(std::string name, std::wstring label,
          Events::GUI event, int action, const std::string &icon_name,
          const std::string &sound, const std::string &effect_name);
  };
}