#include "LevelEvents.hpp" #include "voxels/Chunk.hpp" using std::vector; void LevelEvents::listen(LevelEventType type, const ChunkEventFunc& func) { auto& callbacks = chunk_callbacks[type]; callbacks.push_back(func); } void LevelEvents::trigger(LevelEventType type, Chunk* chunk) { const auto& callbacks = chunk_callbacks[type]; for (const ChunkEventFunc& func : callbacks) { func(type, chunk); } }