add on_chunk_present and on_chunk_remove events

This commit is contained in:
MihailRis
2025-01-12 05:41:42 +03:00
parent cfa6b5e578
commit 22c7cb8398
9 changed files with 65 additions and 9 deletions
+4 -3
View File
@@ -52,13 +52,14 @@ Level::Level(
entities->setNextID(worldInfo.nextEntityId);
}
events->listen(LevelEventType::EVT_CHUNK_SHOWN, [this](LevelEventType, Chunk* chunk) {
events->listen(LevelEventType::CHUNK_SHOWN, [this](LevelEventType, Chunk* chunk) {
chunks->incref(chunk);
});
events->listen(LevelEventType::EVT_CHUNK_HIDDEN, [this](LevelEventType, Chunk* chunk) {
events->listen(LevelEventType::CHUNK_HIDDEN, [this](LevelEventType, Chunk* chunk) {
chunks->decref(chunk);
});
chunks->setOnUnload([this](const Chunk& chunk) {
chunks->setOnUnload([this](Chunk& chunk) {
events->trigger(LevelEventType::CHUNK_UNLOAD, &chunk);
AABB aabb = chunk.getAABB();
entities->despawn(entities->getAllInside(aabb));
});