You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
768 B
29 lines
768 B
#pragma once
|
|
#include "levelmanager.hpp"
|
|
#include "constants.hpp"
|
|
#include <deque>
|
|
#include "textures.hpp"
|
|
#include <guecs/ui.hpp>
|
|
#include "gui/ritual_ui.hpp"
|
|
|
|
namespace gui {
|
|
class StatusUI {
|
|
public:
|
|
guecs::UI $gui;
|
|
std::unordered_map<std::string, DinkyECS::Entity> $slots;
|
|
GameLevel $level;
|
|
ritual::UI $ritual_ui;
|
|
int $selected_slot;
|
|
DinkyECS::Entity $selected_entity;
|
|
|
|
StatusUI(GameLevel level);
|
|
void select_ritual();
|
|
void update_level(GameLevel &level);
|
|
bool mouse(float x, float y, bool hover);
|
|
void init();
|
|
void render(sf::RenderWindow &window);
|
|
void update();
|
|
void select_slot(int slot_id, DinkyECS::Entity entity);
|
|
int place_slot(const std::string &name);
|
|
};
|
|
}
|
|
|