]> git.localhorst.tv Git - blank.git/blobdiff - src/ui/Interface.hpp
use collision structures for ray tests
[blank.git] / src / ui / Interface.hpp
index d045cc900b2e5215fea3c3dcc00eb443e7ee02fa..2538c46cc9176f9a677c255738370504edd283d2 100644 (file)
@@ -10,6 +10,8 @@
 #include "../model/geometry.hpp"
 #include "../model/OutlineModel.hpp"
 #include "../world/Block.hpp"
+#include "../world/EntityCollision.hpp"
+#include "../world/WorldCollision.hpp"
 
 #include <string>
 #include <glm/glm.hpp>
@@ -18,7 +20,6 @@
 
 namespace blank {
 
-class Chunk;
 class Environment;
 class Viewport;
 class World;
@@ -71,6 +72,7 @@ public:
        void UpdateCounter();
        void UpdatePosition();
        void UpdateOrientation();
+       void UpdateBlockInfo();
 
        void PostMessage(const char *);
        void PostMessage(const std::string &msg) {
@@ -83,6 +85,7 @@ public:
 
 private:
        void CheckAim();
+       void UpdateOutline();
 
 private:
        Environment &env;
@@ -91,9 +94,8 @@ private:
        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;
@@ -101,6 +103,8 @@ private:
        FixedText counter_text;
        FixedText position_text;
        FixedText orientation_text;
+       FixedText block_text;
+       Block last_displayed;
        MessageBox messages;
        IntervalTimer msg_timer;