CvAIOperation::UncommitToBuild(OperationSlot)
- Defined in
- CvAIOperation.cpp, line 402
- Class
- CvAIOperation
- Hook name
CivHooks::CvAIOperation_UncommitToBuild
Hooks
static bool BeforeCvAIOperation_UncommitToBuild(CvAIOperation* self, OperationSlot thisOperationSlot, bool& result);static void AfterCvAIOperation_UncommitToBuild(CvAIOperation* self, OperationSlot thisOperationSlot, bool& result);static bool ReplaceCvAIOperation_UncommitToBuild(bool (*original)(CvAIOperation*, OperationSlot), CvAIOperation* self, OperationSlot thisOperationSlot);CivRegisterBefore<CivHooks::CvAIOperation_UncommitToBuild>(host, &BeforeCvAIOperation_UncommitToBuild);CivRegisterAfter<CivHooks::CvAIOperation_UncommitToBuild>(host, &AfterCvAIOperation_UncommitToBuild);CivRegisterReplace<CivHooks::CvAIOperation_UncommitToBuild>(host, &ReplaceCvAIOperation_UncommitToBuild);
Code
401/// Called by a city when it decides NOT to build a unit (that it had previously committed to)402bool CvAIOperation::UncommitToBuild(OperationSlot thisOperationSlot)403{404 // find the operation in the list of committed units405 std::vector<OperationSlot>::iterator iter = find(m_viListOfUnitsCitiesHaveCommittedToBuild.begin(),m_viListOfUnitsCitiesHaveCommittedToBuild.end(),thisOperationSlot);406 // if we found it407 if(iter != m_viListOfUnitsCitiesHaveCommittedToBuild.end())408 {409 // add it to the list of stuff that needs to be built410 m_viListOfUnitsWeStillNeedToBuild.push_back(*iter);411 // remove it from the list of committed units412 m_viListOfUnitsCitiesHaveCommittedToBuild.erase(iter);413 return true;414 }415 return false;416}
Calls
std::_Vector_const_iterator::_Vector_const_iteratorstd::_Vector_const_iterator::operator!=std::_Vector_iterator::operator*std::findstd::vector::beginstd::vector::endstd::vector::erasestd::vector::push_back