//------------------------------------------------------------------------------ void CvDllNetMessageHandler::ResponseDoCommand(PlayerTypes ePlayer, int iUnitID, CommandTypes eCommand, int iData1, int iData2, bool bAlt) { CvPlayerAI& kPlayer = GET_PLAYER(ePlayer); CvUnit* pkUnit = kPlayer.getUnit(iUnitID); if(pkUnit != NULL) { if(bAlt && GC.getCommandInfo(eCommand)->getAll()) { const UnitTypes eUnitType = pkUnit->getUnitType(); CvUnit* pkLoopUnit = NULL; int iLoop = 0; for(pkLoopUnit = kPlayer.firstUnit(&iLoop); pkLoopUnit != NULL; pkLoopUnit = kPlayer.nextUnit(&iLoop)) { if(pkLoopUnit->getUnitType() == eUnitType) { pkLoopUnit->doCommand(eCommand, iData1, iData2); } } } else { pkUnit->doCommand(eCommand, iData1, iData2); } } }
void CvNetDoCommand::Execute() { if (m_ePlayer != NO_PLAYER) { CvUnit* pUnit = GET_PLAYER(m_ePlayer).getUnit(m_iUnitID); if (pUnit != NULL) { if (m_bAlt && GC.getCommandInfo(m_eCommand).getAll()) { int iLoop; for (CvUnit* pLoopUnit = GET_PLAYER(m_ePlayer).firstUnit(&iLoop); pLoopUnit != NULL; pLoopUnit = GET_PLAYER(m_ePlayer).nextUnit(&iLoop)) { if (pLoopUnit->getUnitType() == pUnit->getUnitType()) { pLoopUnit->doCommand(m_eCommand, m_iData1, m_iData2); } } } else { pUnit->doCommand(m_eCommand, m_iData1, m_iData2); } } } }
void CvNetDoCommand::Execute() { if (m_ePlayer != NO_PLAYER) { CvUnit* pUnit = GET_PLAYER(m_ePlayer).getUnit(m_iUnitID); if (pUnit != NULL) { if (m_bAlt && GC.getCommandInfo(m_eCommand).getAll()) { int iLoop; /************************************************************************************************/ /* UNOFFICIAL_PATCH 07/08/09 jdog5000 */ /* */ /* Bugfix */ /************************************************************************************************/ /* orginal bts code for (CvUnit* pLoopUnit = GET_PLAYER(m_ePlayer).firstUnit(&iLoop); pLoopUnit != NULL; pLoopUnit = GET_PLAYER(m_ePlayer).nextUnit(&iLoop)) { if (pLoopUnit->getUnitType() == pUnit->getUnitType()) */ // Have to save type ahead of time, pointer can change UnitTypes eUpgradeType = pUnit->getUnitType(); for (CvUnit* pLoopUnit = GET_PLAYER(m_ePlayer).firstUnit(&iLoop); pLoopUnit != NULL; pLoopUnit = GET_PLAYER(m_ePlayer).nextUnit(&iLoop)) { if (pLoopUnit->getUnitType() == eUpgradeType) /************************************************************************************************/ /* UNOFFICIAL_PATCH END */ /************************************************************************************************/ { pLoopUnit->doCommand(m_eCommand, m_iData1, m_iData2); } } } else { pUnit->doCommand(m_eCommand, m_iData1, m_iData2); } } } }