36 lines
889 B
C++
36 lines
889 B
C++
#pragma once
|
|
#include "dinkyecs.hpp"
|
|
#include <memory>
|
|
#include <SFML/Graphics/RenderWindow.hpp>
|
|
#include <guecs/ui.hpp>
|
|
#include "textures.hpp"
|
|
#include "gui/combat_ui.hpp"
|
|
|
|
namespace components {
|
|
struct BossFight;
|
|
}
|
|
|
|
namespace boss {
|
|
using std::shared_ptr;
|
|
using namespace DinkyECS;
|
|
using namespace textures;
|
|
|
|
struct UI {
|
|
shared_ptr<World> $world = nullptr;
|
|
Entity $boss_id = NONE;
|
|
components::BossFight& $scene;
|
|
gui::CombatUI $combat_ui;
|
|
SpriteTexture $boss_sprite;
|
|
SpriteTexture $player_sprite;
|
|
SpriteTexture $floor_sprite;
|
|
guecs::UI $arena;
|
|
guecs::UI $actions;
|
|
|
|
UI(shared_ptr<World> world, Entity boss_id);
|
|
|
|
void init();
|
|
void render(sf::RenderWindow& window);
|
|
bool mouse(float x, float y, guecs::Modifiers mods);
|
|
void position_sprite(SpriteTexture& st, const std::string& name, float scale, bool at_mid=false);
|
|
};
|
|
}
|