]> git.localhorst.tv Git - blank.git/blob - src/model/Skeletons.hpp
send entity visual from server to client
[blank.git] / src / model / Skeletons.hpp
1 #ifndef BLANK_MODEL_SKELETONS_HPP_
2 #define BLANK_MODEL_SKELETONS_HPP_
3
4 #include <cstdint>
5 #include <memory>
6 #include <vector>
7
8
9 namespace blank {
10
11 class CompositeModel;
12 class EntityModel;
13
14 class Skeletons {
15
16 public:
17         Skeletons();
18         ~Skeletons();
19
20         void LoadHeadless();
21         void Load();
22
23         std::size_t Size() const noexcept { return skeletons.size(); }
24
25         CompositeModel &operator[](std::size_t i) noexcept { return *skeletons[i]; }
26         const CompositeModel &operator[](std::size_t i) const noexcept { return *skeletons[i]; }
27
28         CompositeModel *ByID(std::uint16_t) noexcept;
29         const CompositeModel *ByID(std::uint16_t) const noexcept;
30
31 private:
32         std::vector<std::unique_ptr<CompositeModel>> skeletons;
33         std::vector<EntityModel> models;
34
35 };
36
37 }
38
39 #endif