Bazaar developer reference

CvUnitMission::WaitFor(UnitHandle, UnitHandle)

Defined in
CvUnitMission.cpp, line 415
Class
CvUnitMission
Hook name
CivHooks::CvUnitMission_WaitFor

Hooks

static bool BeforeCvUnitMission_WaitFor(UnitHandle hUnit, UnitHandle hWaitForUnit);static void AfterCvUnitMission_WaitFor(UnitHandle hUnit, UnitHandle hWaitForUnit);static void ReplaceCvUnitMission_WaitFor(void (*original)(UnitHandle, UnitHandle), UnitHandle hUnit, UnitHandle hWaitForUnit);CivRegisterBefore<CivHooks::CvUnitMission_WaitFor>(host, &BeforeCvUnitMission_WaitFor);CivRegisterAfter<CivHooks::CvUnitMission_WaitFor>(host, &AfterCvUnitMission_WaitFor);CivRegisterReplace<CivHooks::CvUnitMission_WaitFor>(host, &ReplaceCvUnitMission_WaitFor);

Code

414/// Have a unit wait for another units missions to complete415void CvUnitMission::WaitFor(UnitHandle hUnit, UnitHandle hWaitForUnit)416{417	if(CvPreGame::isHuman(hUnit->getOwner()))418	{419		CvAssertMsg(CvUnit::dispatchingNetMessage(), "Multiplayer Error! CvUnit::PushMission invoked for a human player outside of a network message!");420		if(!CvUnit::dispatchingNetMessage())421			gDLL->netMessageDebugLog("*** PROTOCOL ERROR *** : PushMission invoked for a human controlled player outside of a network message!");422	}423424	CvAssert(hUnit->getOwner() != NO_PLAYER);425426	MissionData mission;427	mission.eMissionType = CvTypes::getMISSION_WAIT_FOR();428	mission.iData1 = hWaitForUnit->getOwner();429	mission.iData2 = hWaitForUnit->GetID();430	mission.iFlags = 0;431	mission.iPushTurn = GC.getGame().getGameTurn();432433	MissionQueue& kQueue = hUnit->m_missionQueue;434435	//  Insert head of mission list436	kQueue.insertAtBeginning(&mission);437438	CvAssert(kQueue.getLength() < 10);439440	if((hUnit->getOwner() == GC.getGame().getActivePlayer()) && hUnit->IsSelected())441	{442		GC.GetEngineUserInterface()->setDirty(Waypoints_DIRTY_BIT, true);443		GC.GetEngineUserInterface()->setDirty(SelectionButtons_DIRTY_BIT, true);444		GC.GetEngineUserInterface()->setDirty(UnitInfo_DIRTY_BIT, true);445	}446}

Calls

Called by