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}