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

41 lines
839 B

#pragma once
#include "levelmanager.hpp"
#include <SFML/Graphics/RenderWindow.hpp>
#include "stats.hpp"
#include "overlay_ui.hpp"
#include "raycaster.hpp"
#include "camera.hpp"
#include <optional>
namespace gui {
class MainUI {
public:
Point $player{0,0};
Stats $stats;
sf::RenderWindow& $window;
GameLevel $level;
OverlayUI $overlay_ui;
Raycaster $rayview;
CameraLOL $camera;
MainUI(sf::RenderWindow& window, GameLevel level);
void mouse(int x, int y);
void debug();
void draw_stats();
void draw_blood();
std::optional<Point> play_move();
void plan_rotate(int dir);
bool play_rotate();
Point plan_move(int dir, bool strafe);
void abort_plan();
void init();
void draw();
void generate_map();
void dead_entity(DinkyECS::Entity entity);
};
}