CvAIOperation::ArmyInPosition(CvArmyAI *)
- Defined in
- CvAIOperation.cpp, line 693
- Class
- CvAIOperation
- Hook name
CivHooks::CvAIOperation_ArmyInPosition- Overridden by
- CvAINavalEscortedOperation::ArmyInPosition(CvArmyAI *), CvAINavalOperation::ArmyInPosition(CvArmyAI *), CvAIOperationBasicCityAttack::ArmyInPosition(CvArmyAI *), CvAIOperationConcertTour::ArmyInPosition(CvArmyAI *), CvAIOperationDestroyBarbarianCamp::ArmyInPosition(CvArmyAI *), CvAIOperationFoundCity::ArmyInPosition(CvArmyAI *), CvAIOperationMerchantDelegation::ArmyInPosition(CvArmyAI *), CvAIOperationNukeAttack::ArmyInPosition(CvArmyAI *), CvAIOperationPillageEnemy::ArmyInPosition(CvArmyAI *), CvAIOperationRapidResponse::ArmyInPosition(CvArmyAI *)
Hooks
static bool BeforeCvAIOperation_ArmyInPosition(CvAIOperation* self, CvArmyAI* pArmy, bool& result);static void AfterCvAIOperation_ArmyInPosition(CvAIOperation* self, CvArmyAI* pArmy, bool& result);static bool ReplaceCvAIOperation_ArmyInPosition(bool (*original)(CvAIOperation*, CvArmyAI*), CvAIOperation* self, CvArmyAI* pArmy);CivRegisterBefore<CivHooks::CvAIOperation_ArmyInPosition>(host, &BeforeCvAIOperation_ArmyInPosition);CivRegisterAfter<CivHooks::CvAIOperation_ArmyInPosition>(host, &AfterCvAIOperation_ArmyInPosition);CivRegisterReplace<CivHooks::CvAIOperation_ArmyInPosition>(host, &ReplaceCvAIOperation_ArmyInPosition);
Code
692/// Processing if army is now at target693bool CvAIOperation::ArmyInPosition(CvArmyAI* pArmy)694{695 bool bStateChanged = false;696697 switch(m_eCurrentState)698 {699 // If we were gathering forces, we're all set to move out700 case AI_OPERATION_STATE_GATHERING_FORCES:701 {702 m_eCurrentState = AI_OPERATION_STATE_MOVING_TO_TARGET;703 bStateChanged = true;704 pArmy->SetArmyAIState(ARMYAISTATE_MOVING_TO_DESTINATION);705 }706 break;707708 // If we are moving to our target, check and see if we are there709 case AI_OPERATION_STATE_MOVING_TO_TARGET:710 {711 if(pArmy->Plot() == GetTargetPlot())712 {713 m_eCurrentState = AI_OPERATION_STATE_AT_TARGET;714 bStateChanged = true;715 }716 }717 break;718719 case AI_OPERATION_STATE_ABORTED:720 case AI_OPERATION_STATE_RECRUITING_UNITS:721 case AI_OPERATION_STATE_AT_TARGET:722 case AI_OPERATION_STATE_SUCCESSFUL_FINISH:723 break;724 };725726 return bStateChanged;727}
Calls
Called by
- CvAINavalEscortedOperation::ArmyInPosition(CvArmyAI *)
- CvAIOperation::CheckOnTarget()
- CvAIOperationBasicCityAttack::ArmyInPosition(CvArmyAI *)
- CvAIOperationConcertTour::ArmyInPosition(CvArmyAI *)
- CvAIOperationDestroyBarbarianCamp::ArmyInPosition(CvArmyAI *)
- CvAIOperationFoundCity::ArmyInPosition(CvArmyAI *)
- CvAIOperationMerchantDelegation::ArmyInPosition(CvArmyAI *)
- CvAIOperationNavalAttack::ArmyInPosition(CvArmyAI *)
- CvAIOperationNavalBombardment::ArmyInPosition(CvArmyAI *)
- CvAIOperationNavalSuperiority::ArmyInPosition(CvArmyAI *)
- CvAIOperationPillageEnemy::ArmyInPosition(CvArmyAI *)
- CvAIOperationPureNavalCityAttack::ArmyInPosition(CvArmyAI *)
- CvAIOperationRapidResponse::ArmyInPosition(CvArmyAI *)