#ifndef CHUNK_H__ #define CHUNK_H__ #include "define.h" #include "array3d.h" #include "vertexbuffer.h" #include "blockinfo.h" class Chunk { private: Array3d m_blocks = Array3d(CHUNK_SIZE_X, CHUNK_SIZE_Y, CHUNK_SIZE_Z); VertexBuffer m_vertexBuffer; bool m_isDirty = true; void AddBlockToMesh(VertexBuffer::VertexData* vd, int& count, BlockType bt, int x, int y, int z, float u, float v, float s); public: Chunk(); ~Chunk(); void RemoveBlock(int x, int y, int z); void SetBlock(int x, int y, int z, BlockType type); BlockType GetBlock(int x, int y, int z); void Update(BlockInfo* blockinfo[BTYPE_LAST]); void Render() const; bool IsDirty() const; }; #endif // CHUNK_H__