isBeforeUnitCycle(const CvUnit *, const CvUnit *)
- Defined in
- CvGameCoreUtils.cpp, line 195
- Hook name
CivHooks::isBeforeUnitCycle
Hooks
static bool BeforeisBeforeUnitCycle(const CvUnit* pFirstUnit, const CvUnit* pSecondUnit, bool& result);static void AfterisBeforeUnitCycle(const CvUnit* pFirstUnit, const CvUnit* pSecondUnit, bool& result);static bool ReplaceisBeforeUnitCycle(bool (*original)(const CvUnit*, const CvUnit*), const CvUnit* pFirstUnit, const CvUnit* pSecondUnit);CivRegisterBefore<CivHooks::isBeforeUnitCycle>(host, &BeforeisBeforeUnitCycle);CivRegisterAfter<CivHooks::isBeforeUnitCycle>(host, &AfterisBeforeUnitCycle);CivRegisterReplace<CivHooks::isBeforeUnitCycle>(host, &ReplaceisBeforeUnitCycle);
Code
195bool isBeforeUnitCycle(const CvUnit* pFirstUnit, const CvUnit* pSecondUnit)196{197 CvAssert(pFirstUnit != NULL);198 CvAssert(pSecondUnit != NULL);199 CvAssert(pFirstUnit != pSecondUnit);200201 if(!pFirstUnit || !pSecondUnit)202 return false;203204 if(pFirstUnit->getOwner() != pSecondUnit->getOwner())205 {206 return (pFirstUnit->getOwner() < pSecondUnit->getOwner());207 }208209 if(pFirstUnit->getDomainType() != pSecondUnit->getDomainType())210 {211 return (pFirstUnit->getDomainType() < pSecondUnit->getDomainType());212 }213214 if(pFirstUnit->GetBaseCombatStrength() != pSecondUnit->GetBaseCombatStrength())215 {216 return (pFirstUnit->GetBaseCombatStrength() > pSecondUnit->GetBaseCombatStrength());217 }218219 if(pFirstUnit->getUnitType() != pSecondUnit->getUnitType())220 {221 return (pFirstUnit->getUnitType() > pSecondUnit->getUnitType());222 }223224 if(pFirstUnit->getLevel() != pSecondUnit->getLevel())225 {226 return (pFirstUnit->getLevel() > pSecondUnit->getLevel());227 }228229#if defined(MOD_UNITS_XP_TIMES_100)230 if (pFirstUnit->getExperienceTimes100() != pSecondUnit->getExperienceTimes100())231 {232 return (pFirstUnit->getExperienceTimes100() > pSecondUnit->getExperienceTimes100());233 }234#else235 if (pFirstUnit->getExperience() != pSecondUnit->getExperience())236 {237 return (pFirstUnit->getExperience() > pSecondUnit->getExperience());238 }239#endif240241 return (pFirstUnit->GetID() < pSecondUnit->GetID());242}