CvPlayer::DoDistanceGift(PlayerTypes, CvUnit *)
- Defined in
- CvPlayer.cpp, line 19639
- Class
- CvPlayer
- Hook name
CivHooks::CvPlayer_DoDistanceGift
Hooks
static bool BeforeCvPlayer_DoDistanceGift(CvPlayer* self, PlayerTypes eFromPlayer, CvUnit* pUnit);static void AfterCvPlayer_DoDistanceGift(CvPlayer* self, PlayerTypes eFromPlayer, CvUnit* pUnit);static void ReplaceCvPlayer_DoDistanceGift(void (*original)(CvPlayer*, PlayerTypes, CvUnit*), CvPlayer* self, PlayerTypes eFromPlayer, CvUnit* pUnit);CivRegisterBefore<CivHooks::CvPlayer_DoDistanceGift>(host, &BeforeCvPlayer_DoDistanceGift);CivRegisterAfter<CivHooks::CvPlayer_DoDistanceGift>(host, &AfterCvPlayer_DoDistanceGift);CivRegisterReplace<CivHooks::CvPlayer_DoDistanceGift>(host, &ReplaceCvPlayer_DoDistanceGift);
Code
19638/// Someone sent us a present!19639void CvPlayer::DoDistanceGift(PlayerTypes eFromPlayer, CvUnit* pUnit)19640{19641 if(!pUnit)19642 {19643 return;19644 }1964519646 CvPlot* pPlot = pUnit->plot();19647 if(!pPlot)19648 {19649 return;19650 }1965119652 // Also add any units this guy is transporting19653 IDInfo* pUnitNode = pPlot->headUnitNode();19654 while(pUnitNode != NULL)19655 {19656 CvUnit* pLoopUnit = ::getUnit(*pUnitNode);19657 pUnitNode = pPlot->nextUnitNode(pUnitNode);1965819659 if(NULL != pLoopUnit && pLoopUnit->getTransportUnit() == pUnit)19660 AddIncomingUnit(eFromPlayer, pLoopUnit);19661 }1966219663 AddIncomingUnit(eFromPlayer, pUnit);19664}