//----------------------------------------------------------------------------- // Update the game state. //----------------------------------------------------------------------------- void Game::Update( float elapsed ) { // Allow the player to respawn by pressing the R key. /*if( g_engine->GetInput()->GetKeyPress( DIK_R ) == true ) { m_playerManager->GetLocalPlayer()->SetEnabled( false ); m_playerManager->SpawnLocalPlayer(); }*/ // Update the bullet manager before the player manager. This will prevent // bullets that are fired this frame from being processed this frame. m_bulletManager->Update( elapsed ); // Update the player manager. m_playerManager->Update( elapsed ); // Check if the user is holding down the tab key. if( g_engine->GetInput()->GetKeyPress( DIK_TAB, true ) == true ) { // Build the score board text. sprintf( m_scoreBoardNames, "PLAYER\n" ); sprintf( m_scoreBoardFrags, "FRAGS\n" ); sprintf( m_scoreBoardDeaths, "DEATHS\n" ); // Add each player's details to the score board. PlayerObject *player = m_playerManager->GetNextPlayer( true ); while( player != NULL ) { strcat( m_scoreBoardNames, player->GetName() ); strcat( m_scoreBoardNames, "\n" ); sprintf( m_scoreBoardFrags, "%s%d", m_scoreBoardFrags, player->GetFrags() ); strcat( m_scoreBoardFrags, "\n" ); sprintf( m_scoreBoardDeaths, "%s%d", m_scoreBoardDeaths, player->GetDeaths() ); strcat( m_scoreBoardDeaths, "\n" ); player = m_playerManager->GetNextPlayer(); } } // Check if the user wants to exit back to the menu. if( g_engine->GetInput()->GetKeyPress( DIK_ESCAPE ) ) { SFProtobufPacket<SFPacketStore::LeaveRoom> leaveRoom(CGSF::LeaveRoom); leaveRoom.SetSerial(g_engine->GetLocalID()); g_pCasualGameManager->GetNetwork()->TCPSend(&leaveRoom); } g_pCasualGameManager->Update(); }
//----------------------------------------------------------------------------- // Update the game state. //----------------------------------------------------------------------------- void Game::Update( float elapsed ) { // Allow the player to respawn by pressing the R key. if( Engine::GetInstance()->GetInput()->GetKeyPress( DIK_R ) == true ) { m_playerManager->GetLocalPlayer()->SetEnabled( false ); m_playerManager->SpawnLocalPlayer(); } // Update the bullet manager before the player manager. This will prevent // bullets that are fired this frame from being processed this frame. m_bulletManager->Update( elapsed ); // Update the player manager. m_playerManager->Update( elapsed ); // Check if the user is holding down the tab key. if( Engine::GetInstance()->GetInput()->GetKeyPress( DIK_TAB, true ) == true ) { // Build the score board text. sprintf( m_scoreBoardNames, "PLAYER\n" ); sprintf( m_scoreBoardFrags, "FRAGS\n" ); sprintf( m_scoreBoardDeaths, "DEATHS\n" ); // Add each player's details to the score board. PlayerObject *player = m_playerManager->GetNextPlayer( true ); while( player != NULL ) { strcat( m_scoreBoardNames, player->GetName() ); strcat( m_scoreBoardNames, "\n" ); sprintf( m_scoreBoardFrags, "%s%d", m_scoreBoardFrags, player->GetFrags() ); strcat( m_scoreBoardFrags, "\n" ); sprintf( m_scoreBoardDeaths, "%s%d", m_scoreBoardDeaths, player->GetDeaths() ); strcat( m_scoreBoardDeaths, "\n" ); player = m_playerManager->GetNextPlayer(); } } // Check if the user wants to exit back to the menu. if( Engine::GetInstance()->GetInput()->GetKeyPress( DIK_ESCAPE ) ) Engine::GetInstance()->ChangeState( STATE_MENU ); }