CvAINavalOperation::FindInitialUnit()
- Defined in
- CvAIOperation.cpp, line 3886
- Class
- CvAINavalOperation
- Hook name
CivHooks::CvAINavalOperation_FindInitialUnit
Hooks
static bool BeforeCvAINavalOperation_FindInitialUnit(CvAINavalOperation* self, CvUnit*& result);static void AfterCvAINavalOperation_FindInitialUnit(CvAINavalOperation* self, CvUnit*& result);static CvUnit* ReplaceCvAINavalOperation_FindInitialUnit(CvUnit* (*original)(CvAINavalOperation*), CvAINavalOperation* self);CivRegisterBefore<CivHooks::CvAINavalOperation_FindInitialUnit>(host, &BeforeCvAINavalOperation_FindInitialUnit);CivRegisterAfter<CivHooks::CvAINavalOperation_FindInitialUnit>(host, &AfterCvAINavalOperation_FindInitialUnit);CivRegisterReplace<CivHooks::CvAINavalOperation_FindInitialUnit>(host, &ReplaceCvAINavalOperation_FindInitialUnit);
Code
3885/// Which unit would we like to use to kick off this operation?3886CvUnit* CvAINavalOperation::FindInitialUnit()3887{3888 int iUnitLoop;3889 CvUnit* pLoopUnit;38903891 for(pLoopUnit = GET_PLAYER(m_eOwner).firstUnit(&iUnitLoop); pLoopUnit != NULL; pLoopUnit = GET_PLAYER(m_eOwner).nextUnit(&iUnitLoop))3892 {3893 if(pLoopUnit != NULL)3894 {3895 if(pLoopUnit->AI_getUnitAIType() != UNITAI_EXPLORE_SEA)3896 {3897 CvUnitEntry* pkUnitEntry = GC.getUnitInfo(pLoopUnit->getUnitType());3898 if(pkUnitEntry && pkUnitEntry->GetUnitAIType(UNITAI_ATTACK_SEA))3899 {3900 if(pLoopUnit->getArmyID() == FFreeList::INVALID_INDEX)3901 {3902 return pLoopUnit;3903 }3904 }3905 }3906 }3907 }3908 return NULL;3909}