R-Type
R-Type project
Entity.hpp
1 /*
2 ** EPITECH PROJECT, 2022
3 ** gameEngine2
4 ** File description:
5 ** Entity
6 */
7 
8 #ifndef ENTITY_HPP_
9 #define ENTITY_HPP_
10 
11 #include <string>
12 
13 namespace KapEngine {
14 
15  class Entity {
16  public:
17  Entity(std::size_t __id = 0) : _id(__id) {
18  PROFILER_FUNC_START();
19  PROFILER_FUNC_END();
20  }
21  ~Entity() {
22  PROFILER_FUNC_START();
23  PROFILER_FUNC_END();
24  }
25 
30  void __setId(std::size_t id) {
31  PROFILER_FUNC_START();
32  if (_id != 0) {
33  PROFILER_FUNC_END();
34  return;
35  }
36  _id = id;
37  PROFILER_FUNC_END();
38  }
39 
44  std::size_t getId() const {
45  return _id;
46  }
47 
48  virtual Entity &operator=(Entity const& en) {
49  _id = en._id;
50  return *this;
51  }
52 
53  virtual bool operator==(Entity const& en) {
54  return en._id == _id;
55  }
56 
57  virtual bool operator!=(Entity const& en) {
58  PROFILER_FUNC_START();
59  PROFILER_FUNC_END();
60  return !(*this == en);
61  }
62 
63  protected:
64  std::size_t _id = 0;
65  private:
66  };
67 
68 }
69 
70 #endif /* !ENTITY_HPP_ */
KapEngine::Entity::getId
std::size_t getId() const
Get the entity id.
Definition: Entity.hpp:44
KapEngine::Entity::__setId
void __setId(std::size_t id)
set entity id
Definition: Entity.hpp:30
KapEngine
main namespace
Definition: Component.hpp:17
KapEngine::Entity
Definition: Entity.hpp:15