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
- CvGame::getActivePlayer() const
- CvGame::getGameTurn()
- CvGlobals::getDLLIFace()
- CvGlobals::GetEngineUserInterface()
- CvGlobals::getGame()
- CvPreGame::isHuman(PlayerTypes)
- CvTypes::getMISSION_WAIT_FOR()
- CvUnit::dispatchingNetMessage()
- CvUnit::GetID() const
- CvUnit::getOwner() const
- CvUnit::IsSelected() const
FFastSmallFixedList::insertAtBeginningFObjectHandle::operator->ICvEngineUtility1::netMessageDebugLogICvUserInterface1::setDirty- MissionData::MissionData()
std::basic_string::basic_string