CvUnitMission::DeleteMissionQueueNode(UnitHandle, MissionData *)
- Defined in
- CvUnitMission.cpp, line 2084
- Class
- CvUnitMission
- Hook name
CivHooks::CvUnitMission_DeleteMissionQueueNode
Hooks
static bool BeforeCvUnitMission_DeleteMissionQueueNode(UnitHandle hUnit, MissionData* pNode, MissionData*& result);static void AfterCvUnitMission_DeleteMissionQueueNode(UnitHandle hUnit, MissionData* pNode, MissionData*& result);static MissionData* ReplaceCvUnitMission_DeleteMissionQueueNode(MissionData* (*original)(UnitHandle, MissionData*), UnitHandle hUnit, MissionData* pNode);CivRegisterBefore<CivHooks::CvUnitMission_DeleteMissionQueueNode>(host, &BeforeCvUnitMission_DeleteMissionQueueNode);CivRegisterAfter<CivHooks::CvUnitMission_DeleteMissionQueueNode>(host, &AfterCvUnitMission_DeleteMissionQueueNode);CivRegisterReplace<CivHooks::CvUnitMission_DeleteMissionQueueNode>(host, &ReplaceCvUnitMission_DeleteMissionQueueNode);
Code
2083/// Delete a specific mission from queue2084MissionData* CvUnitMission::DeleteMissionQueueNode(UnitHandle hUnit, MissionData* pNode)2085{2086 MissionQueueNode* pNextMissionNode;20872088 CvAssertMsg(pNode != NULL, "Node is not assigned a valid value");2089 CvAssert(hUnit->getOwner() != NO_PLAYER);20902091 MissionQueue& kQueue = hUnit->m_missionQueue;20922093 if(pNode == HeadMissionQueueNode(kQueue))2094 {2095 DeactivateHeadMission(hUnit, /*iUnitCycleTimer*/ 1);2096 }20972098 pNextMissionNode = kQueue.deleteNode(pNode);2099 if(pNextMissionNode == NULL)2100 hUnit->ClearPathCache();21012102 if(pNextMissionNode == HeadMissionQueueNode(kQueue))2103 {2104 ActivateHeadMission(hUnit);2105 }21062107 if((hUnit->getOwner() == GC.getGame().getActivePlayer()) && hUnit->IsSelected())2108 {2109 GC.GetEngineUserInterface()->setDirty(Waypoints_DIRTY_BIT, true);2110 GC.GetEngineUserInterface()->setDirty(SelectionButtons_DIRTY_BIT, true);2111 GC.GetEngineUserInterface()->setDirty(UnitInfo_DIRTY_BIT, true);2112 }21132114 return pNextMissionNode;2115}
Calls
- CvGame::getActivePlayer() const
- CvGlobals::GetEngineUserInterface()
- CvGlobals::getGame()
- CvUnit::ClearPathCache()
- CvUnit::getOwner() const
- CvUnit::IsSelected() const
- CvUnitMission::ActivateHeadMission(UnitHandle)
- CvUnitMission::DeactivateHeadMission(UnitHandle, int)
- CvUnitMission::HeadMissionQueueNode(MissionQueue &)
FFastSmallFixedList::deleteNodeFObjectHandle::FObjectHandleFObjectHandle::operator->ICvUserInterface1::setDirty