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/ritual_ui.hpp

38 lines
918 B

#pragma once
#include "levelmanager.hpp"
#include "constants.hpp"
#include <deque>
#include "textures.hpp"
#include "guecs.hpp"
namespace gui {
enum class RitualUIState {
OPEN=0,
CLOSED=1,
OPENING=2,
CLOSING=3
};
class RitualUI {
public:
sf::IntRect $ritual_closed_rect{{0,0},{380,720}};
sf::IntRect $ritual_open_rect{{380 * 2,0},{380,720}};
RitualUIState $ritual_state = RitualUIState::CLOSED;
textures::SpriteTexture $ritual_ui;
components::Animation $ritual_anim;
guecs::UI $gui;
GameLevel $level;
RitualUI(GameLevel level);
bool mouse(float x, float y);
void toggle();
bool is_open();
void init();
void render(sf::RenderWindow &window);
void update();
void ritual_circle_clicked(DinkyECS::Entity ent);
void inv_slot_clicked(DinkyECS::Entity ent);
void reset_inv_positions();
};
}