Program Listing for File entityManager.h

Return to documentation for file (PrismEngine/src/entityManager.h)

#pragma once
#include "entity.h"
#include <queue>

namespace prism {
    namespace scene {
        class EntityManager
        {
        public:
            EntityManager() : nextEntityId(1) {}

            Entity createEntity();

            bool destroyEntity(Entity entityId);

            bool isEntityValid(Entity entityId) const;

        private:
            Entity nextEntityId;

            std::queue<Entity> freeList;
        };
    }
}