/// How many units of this type are in army? int CvArmyAI::GetUnitsOfType(MultiunitPositionTypes ePosition) const { int iRtnValue = 0; for(unsigned int iI = 0; iI < m_FormationEntries.size(); iI++) { if(m_FormationEntries[iI].m_iUnitID > ARMYSLOT_NO_UNIT) { CvUnit* pUnit = GET_PLAYER(m_eOwner).getUnit(m_FormationEntries[iI].m_iUnitID); if(pUnit->getMoves() > 0) { CvMultiUnitFormationInfo* thisFormation = GC.getMultiUnitFormationInfo(m_iFormationIndex); if(thisFormation) { const CvFormationSlotEntry& thisSlotEntry = thisFormation->getFormationSlotEntry(iI); if(thisSlotEntry.m_ePositionType == ePosition) { iRtnValue++; } } } } } return iRtnValue; }
/// How many units of this type are in army? int CvArmyAI::GetUnitsOfType(MultiunitPositionTypes ePosition) const { int iRtnValue = 0; for(unsigned int iI = 0; iI < m_FormationEntries.size(); iI++) { if (m_FormationEntries[iI].IsUsed()) { CvMultiUnitFormationInfo* thisFormation = GC.getMultiUnitFormationInfo(m_iFormationIndex); if(thisFormation) { const CvFormationSlotEntry& thisSlotEntry = thisFormation->getFormationSlotEntry(iI); if(thisSlotEntry.m_ePositionType == ePosition) { iRtnValue++; } } } } return iRtnValue; }