25 lines
551 B
C++

#pragma once
#include "DeerCore/Tools/Memory.h"
namespace Deer {
class World;
class WorldSettings;
namespace Universe {
struct WorldHandle {
uint32_t worldId = 0;
uint32_t generation = 0;
WorldHandle() {}
WorldHandle(uint32_t _worldId, uint32_t _generation) : worldId(_worldId), generation(_generation) {}
};
WorldHandle createWorld(const WorldSettings&);
World& getWorld(WorldHandle);
void destroyWorld(WorldHandle);
void destroyAllWorlds();
void flushDestroyedWorlds();
} // namespace Universe
} // namespace Deer