Bazaar developer reference

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

Called by