Fixing problem when resetting the game admin timeout.

This commit is contained in:
lotodore
2011-12-27 10:11:15 +00:00
parent 735e554732
commit 57447d844e
2 changed files with 18 additions and 7 deletions
+15 -7
View File
@@ -353,11 +353,6 @@ AbstractServerGameStateReceiving::ProcessPacket(boost::shared_ptr<ServerGame> se
netReportAck->reportResult = reportResult_avatarReportInvalid; netReportAck->reportResult = reportResult_avatarReportInvalid;
server->GetLobbyThread().GetSender().Send(session, packet); server->GetLobbyThread().GetSender().Send(session, packet);
} }
} else if (packet->GetMsg()->present == PokerTHMessage_PR_resetTimeoutMessage) {
// Reactivate session.
if (server->IsRunning()) {
server->AddReactivatePlayer(session->GetPlayerData()->GetUniqueId());
}
} else { } else {
// Packet processing in subclass. // Packet processing in subclass.
InternalProcessPacket(server, session, packet); InternalProcessPacket(server, session, packet);
@@ -804,6 +799,15 @@ AbstractServerGameStateRunning::HandleNewSession(boost::shared_ptr<ServerGame> s
} }
} }
void
AbstractServerGameStateRunning::InternalProcessPacket(boost::shared_ptr<ServerGame> server, boost::shared_ptr<SessionData> session, boost::shared_ptr<NetPacket> packet)
{
if (packet->GetMsg()->present == PokerTHMessage_PR_resetTimeoutMessage) {
// Reactivate session.
server->AddReactivatePlayer(session->GetPlayerData()->GetUniqueId());
}
}
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
ServerGameStateHand ServerGameStateHand::s_state; ServerGameStateHand ServerGameStateHand::s_state;
@@ -839,9 +843,9 @@ ServerGameStateHand::Exit(boost::shared_ptr<ServerGame> server)
} }
void void
ServerGameStateHand::InternalProcessPacket(boost::shared_ptr<ServerGame> /*server*/, boost::shared_ptr<SessionData> /*session*/, boost::shared_ptr<NetPacket> /*packet*/) ServerGameStateHand::InternalProcessPacket(boost::shared_ptr<ServerGame> server, boost::shared_ptr<SessionData> session, boost::shared_ptr<NetPacket> packet)
{ {
// TODO: maybe reject packet. AbstractServerGameStateRunning::InternalProcessPacket(server, session, packet);
} }
void void
@@ -1436,6 +1440,8 @@ ServerGameStateWaitPlayerAction::Exit(boost::shared_ptr<ServerGame> server)
void void
ServerGameStateWaitPlayerAction::InternalProcessPacket(boost::shared_ptr<ServerGame> server, boost::shared_ptr<SessionData> session, boost::shared_ptr<NetPacket> packet) ServerGameStateWaitPlayerAction::InternalProcessPacket(boost::shared_ptr<ServerGame> server, boost::shared_ptr<SessionData> session, boost::shared_ptr<NetPacket> packet)
{ {
AbstractServerGameStateRunning::InternalProcessPacket(server, session, packet);
if (packet->GetMsg()->present == PokerTHMessage_PR_myActionRequestMessage) { if (packet->GetMsg()->present == PokerTHMessage_PR_myActionRequestMessage) {
MyActionRequestMessage_t *netMyAction = &packet->GetMsg()->choice.myActionRequestMessage; MyActionRequestMessage_t *netMyAction = &packet->GetMsg()->choice.myActionRequestMessage;
@@ -1568,6 +1574,8 @@ ServerGameStateWaitNextHand::Exit(boost::shared_ptr<ServerGame> server)
void void
ServerGameStateWaitNextHand::InternalProcessPacket(boost::shared_ptr<ServerGame> server, boost::shared_ptr<SessionData> session, boost::shared_ptr<NetPacket> packet) ServerGameStateWaitNextHand::InternalProcessPacket(boost::shared_ptr<ServerGame> server, boost::shared_ptr<SessionData> session, boost::shared_ptr<NetPacket> packet)
{ {
AbstractServerGameStateRunning::InternalProcessPacket(server, session, packet);
if (packet->GetMsg()->present == PokerTHMessage_PR_showMyCardsRequestMessage) { if (packet->GetMsg()->present == PokerTHMessage_PR_showMyCardsRequestMessage) {
Game &curGame = server->GetGame(); Game &curGame = server->GetGame();
boost::shared_ptr<NetPacket> show(new NetPacket(NetPacket::Alloc)); boost::shared_ptr<NetPacket> show(new NetPacket(NetPacket::Alloc));
+3
View File
@@ -138,6 +138,9 @@ public:
virtual ~AbstractServerGameStateRunning(); virtual ~AbstractServerGameStateRunning();
virtual void HandleNewSession(boost::shared_ptr<ServerGame> server, boost::shared_ptr<SessionData> session); virtual void HandleNewSession(boost::shared_ptr<ServerGame> server, boost::shared_ptr<SessionData> session);
protected:
virtual void InternalProcessPacket(boost::shared_ptr<ServerGame> server, boost::shared_ptr<SessionData> session, boost::shared_ptr<NetPacket> packet);
}; };
// State: Within hand. // State: Within hand.