]> git.lizzy.rs Git - dragonblocks3d.git/blobdiff - src/dragonblocks/chunk.hpp
New structure
[dragonblocks3d.git] / src / dragonblocks / chunk.hpp
diff --git a/src/dragonblocks/chunk.hpp b/src/dragonblocks/chunk.hpp
deleted file mode 100644 (file)
index 5561c38..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-#pragma once
-
-#include "block.hpp"
-#include "gl.hpp"
-#include "mesh_gen_mgr.hpp"
-
-#define DRAGONBLOCKS_CHUNK_SIZE 16
-
-namespace dragonblocks
-{
-       class Map;
-       class Mesh;
-       class Scene;
-       
-       class Chunk : public MeshGenMgr::MeshGenerator
-       {
-               public:
-               static void checkPos(const glm::ivec3 &);
-               
-               class Data
-               {
-                       public:
-                       Block blocks[DRAGONBLOCKS_CHUNK_SIZE][DRAGONBLOCKS_CHUNK_SIZE][DRAGONBLOCKS_CHUNK_SIZE];
-                       Data() = default;
-                       Data(const Data &) = default;
-               };
-               
-               glm::ivec3 pos;
-               
-               const Block *getBlock(const glm::ivec3 &) const;
-               const Block *getBlockNoEx(const glm::ivec3 &) const;
-               void setBlock(const glm::ivec3 &, const Block &);
-               void setBlockNoEx(const glm::ivec3 &, const Block &);
-               void addMeshUpdateTask();
-               void addMeshUpdateTaskWithEdge();
-               void updateMesh();
-               
-               Chunk(Map *, const glm::ivec3 &, const Data &, MeshGenMgr *, Scene *);
-               ~Chunk();
-               
-               private:
-               static void staticAfterAnimation(void *);
-               
-               Map *map;
-               Mesh *mesh = nullptr;
-               MeshGenMgr *mesh_gen_mgr;
-               Scene *scene;
-               Data data;
-               bool animation_finished = false;
-               bool mesh_created = false;
-               
-               void afterAnimation();
-       };
-};