5 #include "mesh_gen_mgr.hpp"
7 #define DRAGONBLOCKS_CHUNK_SIZE 16
15 class Chunk : public MeshGenMgr::MeshGenerator
18 static void checkPos(const glm::ivec3 &);
23 Block blocks[DRAGONBLOCKS_CHUNK_SIZE][DRAGONBLOCKS_CHUNK_SIZE][DRAGONBLOCKS_CHUNK_SIZE];
25 Data(const Data &) = default;
30 const Block *getBlock(const glm::ivec3 &) const;
31 const Block *getBlockNoEx(const glm::ivec3 &) const;
32 void setBlock(const glm::ivec3 &, const Block &);
33 void setBlockNoEx(const glm::ivec3 &, const Block &);
34 void addMeshUpdateTask();
35 void addMeshUpdateTaskWithEdge();
38 Chunk(Map *, const glm::ivec3 &, const Data &, MeshGenMgr *, Scene *);
42 static void staticAfterEffect(void *);
46 MeshGenMgr *mesh_gen_mgr;
49 bool effect_finished = false;
50 bool mesh_created = false;