#pragma once #include #include "../Utils/MeshHelper.hpp" class WorldObject { public: virtual const Mesh& GetObjectMesh() const = 0; protected: WorldObject() = default; }; template class WorldObjectAbstract : virtual public WorldObject { public: virtual ~WorldObjectAbstract() = 0; const Mesh& GetObjectMesh() const noexcept override { return mMesh; } protected: inline static Mesh mMesh; }; template inline WorldObjectAbstract::~WorldObjectAbstract() {} /* class WorldObject { public: virtual ~WorldObjectAbstract() = 0; virtual std::vector& GetObjectMesh() const = 0; }; */