VoxelEngine
 
Loading...
Searching...
No Matches
LevelEvents.h
1#pragma once
2
3#include <glm/glm.hpp>
4#include <memory>
5#include "utility/Event.h"
6
7
8namespace engine {
9
10 class Chunk;
11
12 struct ChunkUnloadEvent : public Event {
13 ChunkUnloadEvent(std::shared_ptr<const Chunk> _chunk) : chunk(_chunk) {}
14
16 std::shared_ptr<const Chunk> chunk;
17 };
18
19 struct ChunkBeforeLoadEvent : public Event {
20 ChunkBeforeLoadEvent(std::shared_ptr<Chunk> _chunk) : chunk(_chunk) {}
21
24 std::shared_ptr<Chunk> chunk;
25 };
26
27 struct ChunkRangeUpdatedEvent : public Event {
28 ChunkRangeUpdatedEvent(const glm::ivec3& _from, const glm::ivec3& _to)
29 : from(_from),
30 to(_to) {}
31
33 const glm::ivec3& from;
35 const glm::ivec3& to;
36 };
37} // namespace engine
Definition Event.h:4
Definition LevelEvents.h:19
std::shared_ptr< Chunk > chunk
The chunk that is about to be loaded.
Definition LevelEvents.h:24
Definition LevelEvents.h:27
const glm::ivec3 & from
The chunk coordinate start.
Definition LevelEvents.h:33
const glm::ivec3 & to
The chunk coordinate end.
Definition LevelEvents.h:35
Definition LevelEvents.h:12
std::shared_ptr< const Chunk > chunk
The chunk that is about to be unloaded.
Definition LevelEvents.h:16