#pragma once #include "gui/guecstra.hpp" #include "levelmanager.hpp" #include #include #include #include "events.hpp" #include "inventory.hpp" namespace gui { class LootUI { public: bool active = false; guecs::UI $gui; GameLevel $level; std::unordered_map $slot_to_name; DinkyECS::Entity $target; LootUI(GameLevel level); void set_target(DinkyECS::Entity entity) { $target = entity; } void init(); void update(); void render(sf::RenderWindow& window); void update_level(GameLevel &level); bool mouse(float x, float y, bool hover); void make_button(const std::string &name, const std::wstring& label, Events::GUI event); void remove_slot(guecs::Entity slot_id); bool place_slot(guecs::Entity gui_id, DinkyECS::Entity world_entity); }; }