#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; std::shared_ptr cGrid; std::shared_ptr cInventory; std::shared_ptr cBehavior; //private member access functions bool isActive() const; const std::string & tag() const; const size_t id() const; void destroy(); };