38 lines
647 B
C++
38 lines
647 B
C++
#pragma once
|
|
|
|
#include "../Utils/MeshHelper.hpp"
|
|
|
|
|
|
class WorldObject {
|
|
public:
|
|
virtual const Mesh& GetObjectMesh() const = 0;
|
|
|
|
protected:
|
|
WorldObject() = default;
|
|
|
|
};
|
|
|
|
template<class D>
|
|
class WorldObjectAbstract : virtual public WorldObject {
|
|
public:
|
|
virtual ~WorldObjectAbstract() = 0;
|
|
|
|
const Mesh& GetObjectMesh() const noexcept override { return mMesh; }
|
|
|
|
protected:
|
|
inline static Mesh mMesh;
|
|
|
|
};
|
|
|
|
template<class D>
|
|
inline WorldObjectAbstract<D>::~WorldObjectAbstract() {}
|
|
|
|
/*
|
|
class WorldObject {
|
|
public:
|
|
virtual ~WorldObjectAbstract() = 0;
|
|
|
|
virtual std::vector<MeshVertex>& GetObjectMesh() const = 0;
|
|
|
|
};
|
|
*/ |