CvGame::CanMoveActivePlayerToObserver()
- Defined in
- CvGame.cpp, line 4339
- Class
- CvGame
- Hook name
CivHooks::CvGame_CanMoveActivePlayerToObserver
Hooks
static bool BeforeCvGame_CanMoveActivePlayerToObserver(CvGame* self, bool& result);static void AfterCvGame_CanMoveActivePlayerToObserver(CvGame* self, bool& result);static bool ReplaceCvGame_CanMoveActivePlayerToObserver(bool (*original)(CvGame*), CvGame* self);CivRegisterBefore<CivHooks::CvGame_CanMoveActivePlayerToObserver>(host, &BeforeCvGame_CanMoveActivePlayerToObserver);CivRegisterAfter<CivHooks::CvGame_CanMoveActivePlayerToObserver>(host, &AfterCvGame_CanMoveActivePlayerToObserver);CivRegisterReplace<CivHooks::CvGame_CanMoveActivePlayerToObserver>(host, &ReplaceCvGame_CanMoveActivePlayerToObserver);
Code
4338/// Is there an open observer slot that the active player can be assigned to?4339bool CvGame::CanMoveActivePlayerToObserver()4340{4341 int iObserver = -1;4342 PlayerTypes activePlayer = CvPreGame::activePlayer();43434344 // Is active player already in an observer slot?4345 if(CvPreGame::slotStatus(activePlayer) == SS_OBSERVER)4346 {4347 return false;4348 }43494350 for(int iI = 0; iI < MAX_MAJOR_CIVS; iI++)4351 {4352 // Found an observer slot4353 if(CvPreGame::slotStatus((PlayerTypes)iI) == SS_OBSERVER && (CvPreGame::slotClaim((PlayerTypes)iI) == SLOTCLAIM_UNASSIGNED || CvPreGame::slotClaim((PlayerTypes)iI) == SLOTCLAIM_RESERVED))4354 {4355 iObserver = iI;4356 break;4357 }4358 }43594360 // Did we find an observer somewhere besides the active player slot?4361 return iObserver != -1 && activePlayer != iObserver;4362}