Waiting state for spectator mode.

This commit is contained in:
lotodore
2013-08-10 16:29:15 +02:00
parent 8264a61692
commit 7b27213daa
2 changed files with 3 additions and 1 deletions
+2
View File
@@ -874,6 +874,7 @@ AbstractServerGameStateRunning::HandleNewSpectator(boost::shared_ptr<ServerGame>
{
if (session && session->GetPlayerData()) {
AcceptNewSession(server, session, false);
session->SetState(SessionData::Waiting);
server->AddNewSpectator(session->GetPlayerData()->GetUniqueId());
}
}
@@ -1399,6 +1400,7 @@ ServerGameStateHand::InitNewSpectators(boost::shared_ptr<ServerGame> server)
while (i != end) {
boost::shared_ptr<SessionData> session(server->GetSessionManager().GetSessionByUniquePlayerId(*i));
if (session && session->GetPlayerData()) {
session->SetState(SessionData::Spectating);
SendGameData(server, session);
}
++i;
+1 -1
View File
@@ -58,7 +58,7 @@ class ServerGame;
class SessionData : public boost::enable_shared_from_this<SessionData>
{
public:
enum State { Init = 1, ReceivingAvatar = 2, Established = 4, Game = 8, Spectating = 16, Closed = 32 };
enum State { Init = 1, ReceivingAvatar = 2, Established = 4, Game = 8, Spectating = 16, Waiting = 32, Closed = 64 };
SessionData(boost::shared_ptr<boost::asio::ip::tcp::socket> sock, SessionId id, SessionDataCallback &cb, boost::asio::io_service &ioService);
~SessionData();