namespace blank {
-class CompositeModel;
+class Model;
class EntityMesh;
+class ShapeRegistry;
+class TextureIndex;
class Skeletons {
public:
using size_type = std::size_t;
- using reference = CompositeModel &;
- using const_reference = const CompositeModel &;
+ using reference = Model &;
+ using const_reference = const Model &;
public:
Skeletons();
~Skeletons();
void LoadHeadless();
- void Load();
+ void Load(const ShapeRegistry &, TextureIndex &);
size_type size() const noexcept { return skeletons.size(); }
reference operator[](size_type i) noexcept { return *skeletons[i]; }
const_reference operator[](size_type i) const noexcept { return *skeletons[i]; }
- CompositeModel *ByID(std::uint16_t) noexcept;
- const CompositeModel *ByID(std::uint16_t) const noexcept;
+ Model *ByID(std::uint16_t) noexcept;
+ const Model *ByID(std::uint16_t) const noexcept;
private:
- std::vector<std::unique_ptr<CompositeModel>> skeletons;
+ std::vector<std::unique_ptr<Model>> skeletons;
std::vector<EntityMesh> meshes;
};