Waiting state for spectator mode.
This commit is contained in:
@@ -874,6 +874,7 @@ AbstractServerGameStateRunning::HandleNewSpectator(boost::shared_ptr<ServerGame>
|
|||||||
{
|
{
|
||||||
if (session && session->GetPlayerData()) {
|
if (session && session->GetPlayerData()) {
|
||||||
AcceptNewSession(server, session, false);
|
AcceptNewSession(server, session, false);
|
||||||
|
session->SetState(SessionData::Waiting);
|
||||||
server->AddNewSpectator(session->GetPlayerData()->GetUniqueId());
|
server->AddNewSpectator(session->GetPlayerData()->GetUniqueId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1399,6 +1400,7 @@ ServerGameStateHand::InitNewSpectators(boost::shared_ptr<ServerGame> server)
|
|||||||
while (i != end) {
|
while (i != end) {
|
||||||
boost::shared_ptr<SessionData> session(server->GetSessionManager().GetSessionByUniquePlayerId(*i));
|
boost::shared_ptr<SessionData> session(server->GetSessionManager().GetSessionByUniquePlayerId(*i));
|
||||||
if (session && session->GetPlayerData()) {
|
if (session && session->GetPlayerData()) {
|
||||||
|
session->SetState(SessionData::Spectating);
|
||||||
SendGameData(server, session);
|
SendGameData(server, session);
|
||||||
}
|
}
|
||||||
++i;
|
++i;
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ class ServerGame;
|
|||||||
class SessionData : public boost::enable_shared_from_this<SessionData>
|
class SessionData : public boost::enable_shared_from_this<SessionData>
|
||||||
{
|
{
|
||||||
public:
|
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(boost::shared_ptr<boost::asio::ip::tcp::socket> sock, SessionId id, SessionDataCallback &cb, boost::asio::io_service &ioService);
|
||||||
~SessionData();
|
~SessionData();
|
||||||
|
|||||||
Reference in New Issue
Block a user