#include "../model/OutlineModel.hpp"
#include "../world/Block.hpp"
#include "../world/EntityCollision.hpp"
+#include "../world/Player.hpp"
#include "../world/WorldCollision.hpp"
#include <string>
namespace blank {
+class Entity;
class Environment;
class Viewport;
class World;
public:
struct Config {
+ std::string player_name = "default";
+
float move_velocity = 0.005f;
float pitch_sensitivity = -0.0025f;
float yaw_sensitivity = -0.001f;
bool visual_disabled = false;
};
- Interface(const Config &, Environment &, World &);
+ Interface(const Config &, Environment &, World &, const Player &);
+
+ const Player &GetPlayer() noexcept { return player; }
void HandlePress(const SDL_KeyboardEvent &);
void HandleRelease(const SDL_KeyboardEvent &);
void PlaceBlock();
void RemoveBlock() noexcept;
- void PrintBlockInfo();
- void PrintChunkInfo();
- void PrintLightInfo();
- void PrintSelectionInfo();
- void Print(const Block &);
-
void SelectNext();
void SelectPrevious();
void UpdatePosition();
void UpdateOrientation();
void UpdateBlockInfo();
+ void UpdateEntityInfo();
void PostMessage(const char *);
void PostMessage(const std::string &msg) {
private:
Environment &env;
World &world;
+ Player player;
FPSController ctrl;
HUD hud;
FixedText position_text;
FixedText orientation_text;
FixedText block_text;
- Block last_displayed;
+ FixedText entity_text;
+ Block last_block;
+ Entity *last_entity;
MessageBox messages;
IntervalTimer msg_timer;