Bazaar developer reference

CvDeal::AddUnitTrade(PlayerTypes, int)

Defined in
CvDealClasses.cpp, line 1053
Class
CvDeal
Hook name
CivHooks::CvDeal_AddUnitTrade

Hooks

static bool BeforeCvDeal_AddUnitTrade(CvDeal* self, PlayerTypes eFrom, int iUnitID);static void AfterCvDeal_AddUnitTrade(CvDeal* self, PlayerTypes eFrom, int iUnitID);static void ReplaceCvDeal_AddUnitTrade(void (*original)(CvDeal*, PlayerTypes, int), CvDeal* self, PlayerTypes eFrom, int iUnitID);CivRegisterBefore<CivHooks::CvDeal_AddUnitTrade>(host, &BeforeCvDeal_AddUnitTrade);CivRegisterAfter<CivHooks::CvDeal_AddUnitTrade>(host, &AfterCvDeal_AddUnitTrade);CivRegisterReplace<CivHooks::CvDeal_AddUnitTrade>(host, &ReplaceCvDeal_AddUnitTrade);

Code

1052/// Insert a unit trade1053void CvDeal::AddUnitTrade(PlayerTypes eFrom, int iUnitID)1054{1055	CvAssertMsg(eFrom == m_eFromPlayer || eFrom == m_eToPlayer, "DEAL: Adding deal item for a player that's not actually in this deal!  Please send Jon this with your last 5 autosaves and what changelist # you're playing.");10561057	if(IsPossibleToTradeItem(eFrom, GetOtherPlayer(eFrom), TRADE_ITEM_UNITS, iUnitID))1058	{1059		CvTradedItem item;1060		item.m_eItemType = TRADE_ITEM_UNITS;1061		item.m_iDuration = 0;1062		item.m_iFinalTurn = -1;1063		item.m_iData1 = iUnitID;1064		item.m_eFromPlayer = eFrom;1065		m_TradedItems.push_back(item);1066	}1067	else1068	{1069		CvAssertMsg(false, "DEAL: Trying to add an invalid Unit to a deal");1070	}1071}

Calls

Called by