#pragma once #include "levelmanager.hpp" #include #include "stats.hpp" #include "overlay_ui.hpp" #include "raycaster.hpp" #include "camera.hpp" namespace gui { class MainUI { public: Point $player{0,0}; Stats $stats; sf::RenderWindow& $window; GameLevel $level; TexturePack& $textures; OverlayUI $overlay_ui; Raycaster $rayview; CameraLOL $camera; MainUI(sf::RenderWindow& window, GameLevel level, TexturePack &textures); void mouse(int x, int y); void debug(); void draw_stats(); void draw_blood(); bool 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); }; }