Exploring raycasters and possibly make a little "doom like" game based on it.
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.
 
 
 
 
 
 
raycaster/gui/status_ui.hpp

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);
};
}