CvUnit::setCombatUnit(CvUnit *, bool)
- Defined in
- CvUnit.cpp, line 19834
- Class
- CvUnit
- Hook name
CivHooks::CvUnit_setCombatUnit
Hooks
static bool BeforeCvUnit_setCombatUnit(CvUnit* self, CvUnit* pCombatUnit, bool bAttacking);static void AfterCvUnit_setCombatUnit(CvUnit* self, CvUnit* pCombatUnit, bool bAttacking);static void ReplaceCvUnit_setCombatUnit(void (*original)(CvUnit*, CvUnit*, bool), CvUnit* self, CvUnit* pCombatUnit, bool bAttacking);CivRegisterBefore<CivHooks::CvUnit_setCombatUnit>(host, &BeforeCvUnit_setCombatUnit);CivRegisterAfter<CivHooks::CvUnit_setCombatUnit>(host, &AfterCvUnit_setCombatUnit);CivRegisterReplace<CivHooks::CvUnit_setCombatUnit>(host, &ReplaceCvUnit_setCombatUnit);
Code
19834void CvUnit::setCombatUnit(CvUnit* pCombatUnit, bool bAttacking)19835{19836 VALIDATE_OBJECT19837 if(isCombatFocus())19838 {19839 DLLUI->setCombatFocus(false);19840 }1984119842 if(pCombatUnit != NULL)19843 {19844 CvAssertMsg(getCombatUnit() == NULL && getCombatCity() == NULL, "Combat Unit or City is not expected to be assigned");19845 m_bCombatFocus = (bAttacking && !(DLLUI->isFocusedWidget()) && ((getOwner() == GC.getGame().getActivePlayer()) || ((pCombatUnit->getOwner() == GC.getGame().getActivePlayer()) && !(GET_PLAYER(GC.getGame().getActivePlayer()).isSimultaneousTurns()))));19846 m_combatUnit = pCombatUnit->GetIDInfo();19847 }19848 else19849 {19850 clearCombat();19851 }1985219853 setCombatTimer(0);19854 setInfoBarDirty(true);1985519856 if(isCombatFocus())19857 {19858 DLLUI->setCombatFocus(true);19859 }19860}
Calls
- CvGame::getActivePlayer() const
- CvGlobals::GetEngineUserInterface()
- CvGlobals::getGame()
- CvPlayer::isSimultaneousTurns() const
- CvPlayerAI::getPlayer(PlayerTypes)
- CvUnit::clearCombat()
- CvUnit::GetIDInfo() const
- CvUnit::getOwner() const
- CvUnit::isCombatFocus() const
- CvUnit::setCombatTimer(int)
- CvUnit::setInfoBarDirty(bool)
FAutoVariable::operator=ICvUserInterface1::isFocusedWidgetICvUserInterface1::setCombatFocusIDInfo::operator=
Called by
- CvUnitCombat::ApplyNuclearExplosionDamage(const CvCombatMemberEntry *, int, CvUnit *, CvPlot *, int)
- CvUnitCombat::Attack(CvUnit &, CvPlot &, ATTACK_OPTION)
- CvUnitCombat::AttackAir(CvUnit &, CvPlot &, ATTACK_OPTION)
- CvUnitCombat::AttackAirSweep(CvUnit &, CvPlot &, ATTACK_OPTION)
- CvUnitCombat::AttackNuclear(CvUnit &, int, int, ATTACK_OPTION)
- CvUnitCombat::AttackRanged(CvUnit &, int, int, CvUnitCombat::ATTACK_OPTION)
- CvUnitCombat::GenerateNuclearExplosionDamage(CvPlot *, int, CvUnit *, CvCombatMemberEntry *, int *, int)
- CvUnitCombat::ParadropIntercept(CvUnit &, CvPlot &)
- CvUnitCombat::ResolveAirSweep(const CvCombatInfo &, uint)
- CvUnitCombat::ResolveAirUnitVsCombat(const CvCombatInfo &, uint)
- CvUnitCombat::ResolveCityMeleeCombat(const CvCombatInfo &, uint)
- CvUnitCombat::ResolveMeleeCombat(const CvCombatInfo &, uint)
- CvUnitCombat::ResolveNuclearCombat(const CvCombatInfo &, uint)
- CvUnitCombat::ResolveRangedCityVsUnitCombat(const CvCombatInfo &, uint)
- CvUnitCombat::ResolveRangedUnitVsCombat(const CvCombatInfo &, uint)