Bazaar developer reference

operator<<(FDataStream &, const CvGameTrade &)

Defined in
CvTradeClasses.cpp, line 1817
Hook name
CivHooks::op_shl_with_FDataStream_const_CvGameTrade

Hooks

static bool Beforeop_shl_with_FDataStream_const_CvGameTrade(FDataStream& saveTo, const CvGameTrade& readFrom, FDataStream*& result);static void Afterop_shl_with_FDataStream_const_CvGameTrade(FDataStream& saveTo, const CvGameTrade& readFrom, FDataStream*& result);static FDataStream& Replaceop_shl_with_FDataStream_const_CvGameTrade(FDataStream& (*original)(FDataStream&, const CvGameTrade&), FDataStream& saveTo, const CvGameTrade& readFrom);CivRegisterBefore<CivHooks::op_shl_with_FDataStream_const_CvGameTrade>(host, &Beforeop_shl_with_FDataStream_const_CvGameTrade);CivRegisterAfter<CivHooks::op_shl_with_FDataStream_const_CvGameTrade>(host, &Afterop_shl_with_FDataStream_const_CvGameTrade);CivRegisterReplace<CivHooks::op_shl_with_FDataStream_const_CvGameTrade>(host, &Replaceop_shl_with_FDataStream_const_CvGameTrade);

Code

1817FDataStream& operator<<(FDataStream& saveTo, const CvGameTrade& readFrom)1818{1819	uint uiVersion = 3;1820	saveTo << uiVersion;1821	MOD_SERIALIZE_INIT_WRITE(saveTo);18221823	saveTo << readFrom.m_aTradeConnections.size();1824	for (uint ui = 0; ui < readFrom.m_aTradeConnections.size(); ui++)1825	{1826		saveTo << readFrom.m_aTradeConnections[ui].m_iID;18271828		saveTo << readFrom.m_aTradeConnections[ui].m_iOriginX;1829		saveTo << readFrom.m_aTradeConnections[ui].m_iOriginY;1830		saveTo << readFrom.m_aTradeConnections[ui].m_iDestX;1831		saveTo << readFrom.m_aTradeConnections[ui].m_iDestY;1832		saveTo << readFrom.m_aTradeConnections[ui].m_eOriginOwner;1833		saveTo << readFrom.m_aTradeConnections[ui].m_eDestOwner;1834		saveTo << (int)readFrom.m_aTradeConnections[ui].m_eDomain;1835		saveTo << (int)readFrom.m_aTradeConnections[ui].m_eConnectionType;1836		saveTo << readFrom.m_aTradeConnections[ui].m_iTradeUnitLocationIndex;1837		saveTo << readFrom.m_aTradeConnections[ui].m_bTradeUnitMovingForward;1838		saveTo << readFrom.m_aTradeConnections[ui].m_unitID;1839		saveTo << readFrom.m_aTradeConnections[ui].m_iCircuitsCompleted;1840		saveTo << readFrom.m_aTradeConnections[ui].m_iCircuitsToComplete;1841		saveTo << readFrom.m_aTradeConnections[ui].m_iTurnRouteComplete;1842#if defined(MOD_API_TRADEROUTES)1843        MOD_SERIALIZE_WRITE(saveTo, readFrom.m_aTradeConnections[ui].m_bTradeUnitRecalled);1844#endif18451846		saveTo << readFrom.m_aTradeConnections[ui].m_aPlotList.size();1847		for (uint ui2 = 0; ui2 < readFrom.m_aTradeConnections[ui].m_aPlotList.size(); ui2++)1848		{1849			saveTo << readFrom.m_aTradeConnections[ui].m_aPlotList[ui2].m_iX;1850			saveTo << readFrom.m_aTradeConnections[ui].m_aPlotList[ui2].m_iY;1851		}18521853		for (uint ui2 = 0; ui2 < NUM_YIELD_TYPES; ui2++)1854		{1855			saveTo << readFrom.m_aTradeConnections[ui].m_aiOriginYields[ui2];1856			saveTo << readFrom.m_aTradeConnections[ui].m_aiDestYields[ui2];1857		}1858	}18591860	for (uint ui = 0; ui < MAX_MAJOR_CIVS; ui++)1861	{1862		for (uint ui2 = 0; ui2 < MAX_MAJOR_CIVS; ui2++)1863		{1864			saveTo << readFrom.m_aaiTechDifference[ui][ui2];1865		}1866	}18671868	saveTo << readFrom.m_iNextID;18691870	return saveTo;1871}

Calls

Called by