#pragma once #include "Common.h" #include "Components.h" class Entity { friend class EntityManager; bool m_active = true; size_t m_id = 0; std::string m_tag = "default"; //constructor and destructor Entity(const size_t id, const std::string & t); public: // component pointers //std::shared_ptr cTransform; std::shared_ptr cShape; std::shared_ptr cCollision; std::shared_ptr cInput; std::shared_ptr cScore; std::shared_ptr cLifespan; //private member access functions bool isActive() const; const std::string & tag() const; const size_t id() const; void destroy(); };