]> git.localhorst.tv Git - blank.git/blobdiff - src/model/Skeletons.hpp
use (and fix) new shape implementation
[blank.git] / src / model / Skeletons.hpp
index 131bf0cfd1218258b56eecbe6eb64a53301e034a..90affd333d58e0d8891013069f0f1e4b725edd58 100644 (file)
@@ -8,34 +8,36 @@
 
 namespace blank {
 
-class CompositeModel;
-class EntityModel;
+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<EntityModel> models;
+       std::vector<std::unique_ptr<Model>> skeletons;
+       std::vector<EntityMesh> meshes;
 
 };