#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; ritual::UI $ritual_ui; explicit StatusUI(GameLevel level); StatusUI(const StatusUI& other) = delete; StatusUI(StatusUI&& other) = delete; ~StatusUI() = default; 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); void remove_slot(guecs::Entity slot_id); bool place_slot(guecs::Entity gui_id, DinkyECS::Entity world_entity); bool drop_item(DinkyECS::Entity item_id); void swap(guecs::Entity gui_a, guecs::Entity gui_b); bool occupied(guecs::Entity slot); }; }