Bazaar developer reference

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}

Calls

Called by