fully implement KeepAlive behavior
This commit is contained in:
25
src/server/systems/DisconnectSystem.cpp
Normal file
25
src/server/systems/DisconnectSystem.cpp
Normal file
@@ -0,0 +1,25 @@
|
||||
#include <server/systems/DisconnectSystem.h>
|
||||
|
||||
#include <server/components/Disconnect.h>
|
||||
#include <server/components/EnetConnection.h>
|
||||
|
||||
#include <server/Server.h>
|
||||
|
||||
namespace blitz {
|
||||
namespace server {
|
||||
|
||||
DisconectSystem::DisconectSystem(entt::registry& a_Registry, Server& a_Server) : m_Registry(a_Registry), m_Server(a_Server) {}
|
||||
|
||||
void DisconectSystem::Update(Nz::Time elapsedTime) {
|
||||
m_Registry.view<EnetConnectionComponent, DisconnectComponent>().each(
|
||||
[this](auto entity, EnetConnectionComponent& connection, DisconnectComponent disconnect) {
|
||||
m_Server.CloseConnection(connection.m_Connection->GetPeerId());
|
||||
});
|
||||
|
||||
// remove the entities
|
||||
auto it = m_Registry.view<DisconnectComponent>();
|
||||
m_Registry.destroy(it.begin(), it.end());
|
||||
}
|
||||
|
||||
} // namespace server
|
||||
} // namespace blitz
|
||||
Reference in New Issue
Block a user