SFGF
ObjectPack.hpp
1 #ifndef OBJECTPACK_HPP
2 #define OBJECTPACK_HPP
3 
4 /* =========================================================== *
5  * SFGF (c) Kamil Koczurek | koczurekk@gmail.com *
6  * GNU GPL v3 License http://www.gnu.org/licenses/gpl-3.0.html *
7  * =========================================================== */
8 
9 #include "GameObject.hpp"
10 #include <vector>
11 
12 namespace sfgf {
13  class ObjectPack {
14  std::vector<GameObject*> m_objects;
15 
16  public:
17  template<class ... args_t>
18  ObjectPack(args_t& ... list) {
19  m_objects = {&list ...};
20  }
21 
22  void add(GameObject& obj) {
23  m_objects.push_back(&obj);
24  }
25  void remove(GameObject& obj) {
26  std::remove(m_objects.begin(), m_objects.end(), &obj);
27  }
28 
29  void update(sf::Time t) {
30  for(auto& ptr: m_objects) {
31  ptr->update(t);
32  }
33  }
34  };
35 }
36 
37 #endif // OBJECTPACK_HPP
Contains all SFGF classes.
Definition: GameObject.hpp:14
Definition: ObjectPack.hpp:13