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
- AttackPathAdd(CvAStarNode *, CvAStarNode *, int, const void *, CvAStar *)
- AttackPathDestEval(int, int, const void *, CvAStar *, bool, bool)
- FindValidDestinationDest(int, int, const void *, CvAStar *)
- PathValid(CvAStarNode *, CvAStarNode *, int, const void *, CvAStar *)
- UIPathValid(CvAStarNode *, CvAStarNode *, int, const void *, CvAStar *)
- CvHomelandAI::FindPatrolTarget(CvUnit *)
- CvHomelandAI::MoveCivilianToSafety(CvUnit *, bool, bool)
- CvPlot::verifyUnitValidPlot()
- CvUnit::SentryAlert(bool) const
- CvUnit::canGift(bool, bool) const
- CvUnit::canMoveInto(const CvPlot &, byte) const
- CvUnitMovement::IsSlowedByZOC(const CvUnit *, const CvPlot *, const CvPlot *)