]> git.localhorst.tv Git - blank.git/blobdiff - src/ui/Interface.hpp
group entity updates in as few packets as possible
[blank.git] / src / ui / Interface.hpp
index 5cf82076a74b0f629dc15930f2dca2b3c001296e..72db5d13eb94fbea290c434e8eae260234925cb3 100644 (file)
@@ -11,6 +11,7 @@
 #include "../model/OutlineModel.hpp"
 #include "../world/Block.hpp"
 #include "../world/EntityCollision.hpp"
+#include "../world/Player.hpp"
 #include "../world/WorldCollision.hpp"
 
 #include <string>
@@ -20,6 +21,7 @@
 
 namespace blank {
 
+class Entity;
 class Environment;
 class Viewport;
 class World;
@@ -28,6 +30,8 @@ class Interface {
 
 public:
        struct Config {
+               std::string player_name = "default";
+
                float move_velocity = 0.005f;
                float pitch_sensitivity = -0.0025f;
                float yaw_sensitivity = -0.001f;
@@ -38,7 +42,9 @@ public:
                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 &);
@@ -56,12 +62,6 @@ public:
        void PlaceBlock();
        void RemoveBlock() noexcept;
 
-       void PrintBlockInfo();
-       void PrintChunkInfo();
-       void PrintLightInfo();
-       void PrintSelectionInfo();
-       void Print(const Block &);
-
        void SelectNext();
        void SelectPrevious();
 
@@ -91,6 +91,7 @@ private:
 private:
        Environment &env;
        World &world;
+       Player player;
        FPSController ctrl;
        HUD hud;