/// check if this ray hits a block
/// depth in the collision is the distance between the ray's
/// origin and the intersection point
/// check if this ray hits a block
/// depth in the collision is the distance between the ray's
/// origin and the intersection point
EntityCollision &);
/// check if given entity intersects with the world
bool Intersection(const Entity &e, std::vector<WorldCollision> &);
void Resolve(Entity &e, std::vector<WorldCollision> &);
EntityCollision &);
/// check if given entity intersects with the world
bool Intersection(const Entity &e, std::vector<WorldCollision> &);
void Resolve(Entity &e, std::vector<WorldCollision> &);
ChunkLoader &Loader() noexcept { return chunks; }
Entity &Player() { return *player; }
Entity &AddEntity() { entities.emplace_back(); return entities.back(); }
Chunk &PlayerChunk();
ChunkLoader &Loader() noexcept { return chunks; }
Entity &Player() { return *player; }
Entity &AddEntity() { entities.emplace_back(); return entities.back(); }
Chunk &PlayerChunk();