Bazaar developer reference

CvPlot::isVisibleEnemyUnit(const CvUnit *) const

Defined in
CvPlot.cpp, line 4099
Class
CvPlot
Hook name
CivHooks::CvPlot_isVisibleEnemyUnit_with_const_CvUnit_const

Hooks

static bool BeforeCvPlot_isVisibleEnemyUnit_with_const_CvUnit_const(const CvPlot* self, const CvUnit* pUnit, bool& result);static void AfterCvPlot_isVisibleEnemyUnit_with_const_CvUnit_const(const CvPlot* self, const CvUnit* pUnit, bool& result);static bool ReplaceCvPlot_isVisibleEnemyUnit_with_const_CvUnit_const(bool (*original)(const CvPlot*, const CvUnit*), const CvPlot* self, const CvUnit* pUnit);CivRegisterBefore<CivHooks::CvPlot_isVisibleEnemyUnit_with_const_CvUnit_const>(host, &BeforeCvPlot_isVisibleEnemyUnit_with_const_CvUnit_const);CivRegisterAfter<CivHooks::CvPlot_isVisibleEnemyUnit_with_const_CvUnit_const>(host, &AfterCvPlot_isVisibleEnemyUnit_with_const_CvUnit_const);CivRegisterReplace<CivHooks::CvPlot_isVisibleEnemyUnit_with_const_CvUnit_const>(host, &ReplaceCvPlot_isVisibleEnemyUnit_with_const_CvUnit_const);

Code

4099bool CvPlot::isVisibleEnemyUnit(const CvUnit* pUnit) const4100{4101	CvAssertMsg(pUnit, "Source unit must be valid");4102	const IDInfo* pUnitNode = m_units.head();4103	if(pUnit && pUnitNode)4104	{4105		TeamTypes eTeam = GET_PLAYER(pUnit->getOwner()).getTeam();4106		bool bAlwaysHostile = pUnit->isAlwaysHostile(*this);41074108		do4109		{4110			const CvUnit* pLoopUnit = GetPlayerUnit(*pUnitNode);4111			pUnitNode = m_units.next(pUnitNode);41124113			if(pLoopUnit && !pLoopUnit->isInvisible(eTeam, false))4114			{4115				if(isEnemy(pLoopUnit, eTeam, bAlwaysHostile))4116				{4117					return true;4118				}4119			}4120		}4121		while(pUnitNode != NULL);4122	}41234124	return false;4125}

Calls

Called by