X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fchunk.hpp;h=5c1cadb38d50f1222253d26b123b916a28170b3e;hb=9c1f7b20394808f7ec7a6cadd9e0dd665c6f6bd5;hp=3c301803495038beeb99f59db847db5ffa6d1498;hpb=eca1fdcc8e34a4918418b2de122c6200aeb7ceaf;p=blank.git diff --git a/src/chunk.hpp b/src/chunk.hpp index 3c30180..5c1cadb 100644 --- a/src/chunk.hpp +++ b/src/chunk.hpp @@ -18,7 +18,7 @@ public: using Pos = glm::tvec3; public: - Chunk(); + explicit Chunk(const BlockTypeRegistry &); Chunk(Chunk &&); Chunk &operator =(Chunk &&); @@ -59,6 +59,8 @@ public: Block &BlockAt(const Block::Pos &pos) { return BlockAt(ToIndex(pos)); } const Block &BlockAt(const Block::Pos &pos) const { return BlockAt(ToIndex(pos)); } + const BlockType &Type(const Block &b) const { return *types->Get(b.type); } + bool Intersection( const Ray &, const glm::mat4 &M, @@ -73,10 +75,10 @@ public: void Draw(); private: - int VertexCount() const; void Update(); private: + const BlockTypeRegistry *types; std::vector blocks; Model model; Pos position;