X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fui%2FInterface.hpp;h=2538c46cc9176f9a677c255738370504edd283d2;hb=d2fa8ca97d291508ce3812fb052a8255d3190d00;hp=eaed0fc0b15b5122752bedad02397068a0fcacc3;hpb=7c2a8b8285278b8a3077b311d82f05ea0463a96e;p=blank.git diff --git a/src/ui/Interface.hpp b/src/ui/Interface.hpp index eaed0fc..2538c46 100644 --- a/src/ui/Interface.hpp +++ b/src/ui/Interface.hpp @@ -1,27 +1,26 @@ #ifndef BLANK_UI_INTERFACE_HPP_ #define BLANK_UI_INTERFACE_HPP_ +#include "FixedText.hpp" #include "HUD.hpp" +#include "MessageBox.hpp" #include "../app/FPSController.hpp" #include "../app/IntervalTimer.hpp" #include "../audio/Sound.hpp" -#include "../graphics/FixedText.hpp" -#include "../graphics/Font.hpp" -#include "../graphics/MessageBox.hpp" #include "../model/geometry.hpp" #include "../model/OutlineModel.hpp" #include "../world/Block.hpp" +#include "../world/EntityCollision.hpp" +#include "../world/WorldCollision.hpp" #include #include +#include namespace blank { -class Assets; -class Audio; -class Chunk; -class FrameCounter; +class Environment; class Viewport; class World; @@ -39,7 +38,7 @@ public: bool visual_disabled = false; }; - Interface(const Config &, const Assets &, Audio &, const FrameCounter &, World &); + Interface(const Config &, Environment &, World &); void HandlePress(const SDL_KeyboardEvent &); void HandleRelease(const SDL_KeyboardEvent &); @@ -69,8 +68,11 @@ public: void ToggleAudio(); void ToggleVisual(); - void ToggleCounter(); + void ToggleDebug(); void UpdateCounter(); + void UpdatePosition(); + void UpdateOrientation(); + void UpdateBlockInfo(); void PostMessage(const char *); void PostMessage(const std::string &msg) { @@ -83,24 +85,26 @@ public: private: void CheckAim(); + void UpdateOutline(); private: - Audio &audio; - const FrameCounter &counter; + Environment &env; World &world; FPSController ctrl; - Font font; HUD hud; Ray aim; - Chunk *aim_chunk; - int aim_block; - glm::vec3 aim_normal; + WorldCollision aim_world; + EntityCollision aim_entity; OutlineModel outline; glm::mat4 outline_transform; FixedText counter_text; + FixedText position_text; + FixedText orientation_text; + FixedText block_text; + Block last_displayed; MessageBox messages; IntervalTimer msg_timer; @@ -115,7 +119,9 @@ private: Sound place_sound; Sound remove_sound; - glm::tvec3 fwd, rev; + glm::ivec3 fwd, rev; + + bool debug; };