#pragma once #include "levelmanager.hpp" #include "constants.hpp" #include #include "textures.hpp" #include #include "gui/ritual_ui.hpp" #include "gui/guecstra.hpp" namespace gui { class StatusUI { public: guecs::UI $gui; GameLevel $level; std::unordered_map contents; ritual::UI $ritual_ui; StatusUI(GameLevel level); void select_ritual(); void update_level(GameLevel &level); void init(); void render(sf::RenderWindow &window); void update(); bool mouse(float x, float y, bool hover); guecs::GrabSource& get_grab_source(DinkyECS::Entity entity); void remove_slot(DinkyECS::Entity slot_id); guecs::DropTarget& get_drop_target(DinkyECS::Entity gui_id); bool place_slot(DinkyECS::Entity gui_id, DinkyECS::Entity world_entity); }; }