#pragma once #include "Obj.h" #include "Vec2.h" #include class Com; class Ent : public Obj { private: std::vector coms; Vec2 pos; public: Ent(); Ent(std::string id); Ent(Ent&& ent) noexcept; Ent(const Ent& ent); Ent& operator=(Ent&& ent) noexcept; Ent& operator=(const Ent& ent); bool HasCom(size_t hashId); bool HasCom(const std::string& id); bool AddCom(Com* newCom); Com* GetCom(size_t hashId) const; Com* GetCom(const std::string& id) const; void SetPos(const Vec2& newPos); Vec2 GetPos() const; void Update(); void Render(); };