X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fui%2FInterface.hpp;h=7c9a91e33324520c458ff7cf773ea90d51360f56;hb=4e3d9c23940c4511623b5bf328cbbe42641c4b30;hp=2538c46cc9176f9a677c255738370504edd283d2;hpb=d2fa8ca97d291508ce3812fb052a8255d3190d00;p=blank.git diff --git a/src/ui/Interface.hpp b/src/ui/Interface.hpp index 2538c46..7c9a91e 100644 --- a/src/ui/Interface.hpp +++ b/src/ui/Interface.hpp @@ -20,6 +20,7 @@ namespace blank { +class Entity; class Environment; class Viewport; class World; @@ -28,6 +29,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 +41,10 @@ public: bool visual_disabled = false; }; - Interface(const Config &, Environment &, World &); + Interface(const Config &, Environment &, World &, Entity &); + + Entity &Player() noexcept { return ctrl.Controlled(); } + const Entity &Player() const noexcept { return ctrl.Controlled(); } 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(); @@ -73,6 +73,7 @@ public: void UpdatePosition(); void UpdateOrientation(); void UpdateBlockInfo(); + void UpdateEntityInfo(); void PostMessage(const char *); void PostMessage(const std::string &msg) { @@ -104,7 +105,9 @@ private: 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;