mirror of
https://github.com/vcmi/vcmi.git
synced 2025-03-19 21:10:12 +02:00
parent
d9d01f0b68
commit
965b33d16a
@ -176,7 +176,7 @@ void CVCMIServer::run()
|
||||
}
|
||||
}
|
||||
|
||||
while(state == EServerState::LOBBY)
|
||||
while(state == EServerState::LOBBY || state == EServerState::GAMEPLAY_STARTING)
|
||||
boost::this_thread::sleep(boost::posix_time::milliseconds(50));
|
||||
|
||||
logNetwork->info("Thread handling connections ended");
|
||||
|
@ -32,6 +32,7 @@ class CBaseForGHApply;
|
||||
enum class EServerState : ui8
|
||||
{
|
||||
LOBBY,
|
||||
GAMEPLAY_STARTING,
|
||||
GAMEPLAY,
|
||||
GAMEPLAY_ENDED,
|
||||
SHUTDOWN
|
||||
|
@ -115,6 +115,9 @@ bool LobbyChatMessage::checkClientPermissions(CVCMIServer * srv) const
|
||||
|
||||
bool LobbySetMap::applyOnServer(CVCMIServer * srv)
|
||||
{
|
||||
if(srv->state != EServerState::LOBBY)
|
||||
return false;
|
||||
|
||||
srv->updateStartInfoOnMapChange(mapInfo, mapGenOpts);
|
||||
return true;
|
||||
}
|
||||
@ -172,6 +175,7 @@ bool LobbyStartGame::applyOnServer(CVCMIServer * srv)
|
||||
return false;
|
||||
}
|
||||
// Server will prepare gamestate and we announce StartInfo to clients
|
||||
srv->state = EServerState::GAMEPLAY_STARTING;
|
||||
srv->prepareToStartGame();
|
||||
initializedStartInfo = std::make_shared<StartInfo>(*srv->gh->getStartInfo(true));
|
||||
return true;
|
||||
|
Loading…
x
Reference in New Issue
Block a user