mirror of
https://github.com/vcmi/vcmi.git
synced 2025-07-17 01:32:21 +02:00
Remove network connection from local games
This removes need for TCP network connection in single-player games. Instead, game will now create internal pseudo-connection that performs client<->server communication by posting sent messages to client/server asio::io_service'a. This should fix gameplay aborting on switching to another app on iOS (and apparently, on Android in some cases)
This commit is contained in:
@ -73,6 +73,17 @@ void NetworkHandler::createTimer(INetworkTimerListener & listener, std::chrono::
|
||||
});
|
||||
}
|
||||
|
||||
void NetworkHandler::createInternalConnection(INetworkClientListener & listener, INetworkServer & server)
|
||||
{
|
||||
auto localConnection = std::make_shared<InternalConnection>(listener, io);
|
||||
|
||||
server.receiveInternalConnection(localConnection);
|
||||
|
||||
io->post([&listener, localConnection](){
|
||||
listener.onConnectionEstablished(localConnection);
|
||||
});
|
||||
}
|
||||
|
||||
void NetworkHandler::stop()
|
||||
{
|
||||
io->stop();
|
||||
|
Reference in New Issue
Block a user