My Project
MoveSystem.hpp
1 /*
2 ** EPITECH PROJECT, 2022
3 ** R-Type
4 ** File description:
5 ** MoveSystem
6 */
7 
8 #ifndef MOVESYSTEM_HPP_
9  #define MOVESYSTEM_HPP_
10 
11  /* Ecs */
12  #include "Registry.hpp"
13 
14  /* Component */
15  #include "Component/CNetworkQueue.hpp"
16  #include "Component/CDirection.hpp"
17  #include "Component/CPosition.hpp"
18  #include "Component/CVelocity.hpp"
19  #include "Component/CTimer.hpp"
20  #include "Component/CLobbyId.hpp"
21  #include "Component/CLobbiesStatus.hpp"
22 
26 namespace System {
30  class MoveSystem {
31  public:
35  MoveSystem();
36  ~MoveSystem() = default;
37 
50  void operator()(
51  Registry &registry,
59  );
60 
68  void sendKillEntityPacket(Registry &registry, uint16_t id, Sparse_array<component::cnetwork_queue_t> &netqueue);
69 
70  protected:
71  private:
72  };
73 }
74 
75 #endif /* !MOVESYSTEM_HPP_ */
Sparse_array
Class that handle Element of type Component like a vector which can be holed.
Definition: SparseArray.hpp:22
System
Namespace for systems.
Definition: DirectionSystem.hpp:24
Registry
Class that handle ECS.
Definition: Registry.hpp:22
System::MoveSystem
The Move System class, it handles all packets related to movement by the clients.
Definition: MoveSystem.hpp:30
System::MoveSystem::MoveSystem
MoveSystem()
Construct a new Move System object.
Definition: MoveSystem.cpp:21
System::MoveSystem::sendKillEntityPacket
void sendKillEntityPacket(Registry &registry, uint16_t id, Sparse_array< component::cnetwork_queue_t > &netqueue)
Function to add send packet to send network queue.
Definition: MoveSystem.cpp:45
System::MoveSystem::operator()
void operator()(Registry &registry, Sparse_array< component::cnetwork_queue_t > &netqueue, Sparse_array< component::cdirection_t > &direction, Sparse_array< component::cposition_t > &position, Sparse_array< component::cvelocity_t > &velocity, Sparse_array< component::ctimer_t > &timer, Sparse_array< component::clobby_id_t > &LobbyId, Sparse_array< component::clobbies_status_t > &lobbiesStatus)
The main handler for the Move System.