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.
38 lines
918 B
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();
|
|
};
|
|
}
|
|
|