raycaster/boss/ui.hpp
2025-09-24 02:17:38 -04:00

30 lines
771 B
C++

#pragma once
#include "dinkyecs.hpp"
#include <memory>
#include <SFML/Graphics/RenderWindow.hpp>
#include <guecs/ui.hpp>
#include "textures.hpp"
namespace boss {
using std::shared_ptr;
using namespace DinkyECS;
using namespace textures;
struct UI {
shared_ptr<World> $world = nullptr;
Entity $boss_id = NONE;
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);
bool boss_dead();
};
}