CvPlayer::checkRunAutoMovesForEveryone()
- Defined in
- CvPlayer.cpp, line 18186
- Class
- CvPlayer
- Hook name
CivHooks::CvPlayer_checkRunAutoMovesForEveryone
Hooks
static bool BeforeCvPlayer_checkRunAutoMovesForEveryone(CvPlayer* self);static void AfterCvPlayer_checkRunAutoMovesForEveryone(CvPlayer* self);static void ReplaceCvPlayer_checkRunAutoMovesForEveryone(void (*original)(CvPlayer*), CvPlayer* self);CivRegisterBefore<CivHooks::CvPlayer_checkRunAutoMovesForEveryone>(host, &BeforeCvPlayer_checkRunAutoMovesForEveryone);CivRegisterAfter<CivHooks::CvPlayer_checkRunAutoMovesForEveryone>(host, &AfterCvPlayer_checkRunAutoMovesForEveryone);CivRegisterReplace<CivHooks::CvPlayer_checkRunAutoMovesForEveryone>(host, &ReplaceCvPlayer_checkRunAutoMovesForEveryone);
Code
18186void CvPlayer::checkRunAutoMovesForEveryone()18187{18188 bool runAutoMovesForEveryone = true;18189 int i = 0;18190 for(i = 0; i < MAX_PLAYERS; ++i)18191 {18192 CvPlayer& p = CvPlayerAI::getPlayer((PlayerTypes)i);18193 if(p.isHuman() && !p.isObserver() 18194 // Check to see if this human player hasn't gotten to the end turn phase of their turn. 18195 // This gets tricky because hot joiners can hop into an ai civ that already finished their turn.18196 // When this occurs, the hot joiner will not be turn active, will have already run their automoves,18197 // and not have end turn set. (AIs do not set end turn) *sigh*18198 // To handle that case, we assume that human players who are not endturn and turn inactive after TurnAllComplete18199 // are ready for the human automoves phase.18200 && (!p.isEndTurn()18201 && (!gDLL->HasReceivedTurnAllCompleteFromAllPlayers() || p.isTurnActive()))) 18202 {18203 runAutoMovesForEveryone = false;18204 break;18205 }18206 }1820718208 if(runAutoMovesForEveryone)18209 {18210 for(i = 0; i < MAX_PLAYERS; ++i)18211 {18212 CvPlayer& p = CvPlayerAI::getPlayer((PlayerTypes)i);18213 if(p.isHuman())18214 {18215 p.setAutoMoves(true);18216 }18217 }18218 }18219}
Calls
- CvGlobals::getDLLIFace()
- CvPlayer::isEndTurn() const
- CvPlayer::isHuman() const
- CvPlayer::isObserver() const
- CvPlayer::isTurnActive() const
- CvPlayer::setAutoMoves(bool)
- CvPlayerAI::getPlayer(PlayerTypes)
ICvEngineUtility1::HasReceivedTurnAllCompleteFromAllPlayers