diff options
Diffstat (limited to 'src/game/shared/world/feature.hh')
| -rw-r--r-- | src/game/shared/world/feature.hh | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/game/shared/world/feature.hh b/src/game/shared/world/feature.hh new file mode 100644 index 0000000..0d28b20 --- /dev/null +++ b/src/game/shared/world/feature.hh @@ -0,0 +1,25 @@ +#pragma once + +#include "shared/types.hh" + +namespace world +{ +class Chunk; +class Dimension; +class Voxel; +class VoxelStorage; +} // namespace world + +namespace world +{ +class Feature final : public std::vector<std::tuple<voxel_pos, const Voxel*, bool>> { +public: + Feature(void) = default; + virtual ~Feature(void) = default; + +public: + void place(const voxel_pos& vpos, Dimension* dimension) const; + void place(const voxel_pos& vpos, const chunk_pos& cpos, Chunk& chunk) const; + void place(const voxel_pos& vpos, const chunk_pos& cpos, VoxelStorage& voxels) const; +}; +} // namespace world |
