/** * Update soldier stats when the soldier changes. */ void InventoryState::init() { BattleUnit *unit = _battleGame->getSelectedUnit(); unit->setCache(0); _soldier->clear(); _btnRank->clear(); _txtName->setText(unit->getName(_game->getLanguage())); _inv->setSelectedUnit(unit); Soldier *s = _game->getSavedGame()->getSoldier(unit->getId()); if (s) { SurfaceSet *texture = _game->getResourcePack()->getSurfaceSet("BASEBITS.PCK"); texture->getFrame(s->getRankSprite())->setX(0); texture->getFrame(s->getRankSprite())->setY(0); texture->getFrame(s->getRankSprite())->blit(_btnRank); std::string look = s->getArmor()->getSpriteInventory(); if (s->getGender() == GENDER_MALE) look += "M"; else look += "F"; if (s->getLook() == LOOK_BLONDE) look += "0"; if (s->getLook() == LOOK_BROWNHAIR) look += "1"; if (s->getLook() == LOOK_ORIENTAL) look += "2"; if (s->getLook() == LOOK_AFRICAN) look += "3"; look += ".SPK"; if (!CrossPlatform::fileExists(CrossPlatform::getDataFile("UFOGRAPH/" + look))) { look = s->getArmor()->getSpriteInventory() + ".SPK"; } _game->getResourcePack()->getSurface(look)->blit(_soldier); } if (_tu) { std::wstringstream ss; ss << _game->getLanguage()->getString("STR_TUS") << L'\x01' << unit->getTimeUnits(); _txtTus->setText(ss.str()); } }
/** * Update soldier stats when the soldier changes. */ void InventoryState::init() { BattleUnit *unit = _battleGame->getSelectedUnit(); unit->setCache(0); _soldier->clear(); _btnRank->clear(); _txtName->setText(unit->getUnit()->getName(_game->getLanguage())); _inv->setSelectedUnit(unit); Soldier *s = dynamic_cast<Soldier*>(unit->getUnit()); if (s) { SurfaceSet *texture = _game->getResourcePack()->getSurfaceSet("BASEBITS.PCK"); texture->getFrame(s->getRankSprite())->setX(0); texture->getFrame(s->getRankSprite())->setY(0); texture->getFrame(s->getRankSprite())->blit(_btnRank); std::string look = "MAN_0"; if (s->getGender() == GENDER_MALE) look += "M"; else look += "F"; if (s->getLook() == LOOK_BLONDE) look += "0"; if (s->getLook() == LOOK_BROWNHAIR) look += "1"; if (s->getLook() == LOOK_ORIENTAL) look += "2"; if (s->getLook() == LOOK_AFRICAN) look += "3"; look += ".SPK"; _game->getResourcePack()->getSurface(look)->blit(_soldier); } if (_tu) { std::wstringstream ss; ss << _game->getLanguage()->getString("STR_TUS") << L'\x01' << unit->getTimeUnits(); _txtTus->setText(ss.str()); } }
/** * Updates all soldier stats when the soldier changes. */ void InventoryState::init() { BattleUnit *unit = _battleGame->getSelectedUnit(); unit->setCache(0); _soldier->clear(); _btnRank->clear(); _txtName->setText(unit->getName(_game->getLanguage())); _inv->setSelectedUnit(unit); Soldier *s = _game->getSavedGame()->getSoldier(unit->getId()); if (s) { SurfaceSet *texture = _game->getResourcePack()->getSurfaceSet("BASEBITS.PCK"); texture->getFrame(s->getRankSprite())->setX(0); texture->getFrame(s->getRankSprite())->setY(0); texture->getFrame(s->getRankSprite())->blit(_btnRank); std::string look = s->getArmor()->getSpriteInventory(); if (s->getGender() == GENDER_MALE) look += "M"; else look += "F"; if (s->getLook() == LOOK_BLONDE) look += "0"; if (s->getLook() == LOOK_BROWNHAIR) look += "1"; if (s->getLook() == LOOK_ORIENTAL) look += "2"; if (s->getLook() == LOOK_AFRICAN) look += "3"; look += ".SPK"; if (!CrossPlatform::fileExists(CrossPlatform::getDataFile("UFOGRAPH/" + look))) { look = s->getArmor()->getSpriteInventory() + ".SPK"; } _game->getResourcePack()->getSurface(look)->blit(_soldier); } if (_showMoreStatsInInventoryView && !_tu) { std::wstringstream ss2; ss2 << _game->getLanguage()->getString("STR_FACCURACY") << L'\x01' << (int)(unit->getStats()->firing * unit->getAccuracyModifier()); _txtFAcc->setText(ss2.str()); std::wstringstream ss3; ss3 << _game->getLanguage()->getString("STR_REACT") << L'\x01' << unit->getStats()->reactions; _txtReact->setText(ss3.str()); if (unit->getStats()->psiSkill > 0) { std::wstringstream ss4; ss4 << _game->getLanguage()->getString("STR_PSKILL") << L'\x01' << unit->getStats()->psiSkill; _txtPSkill->setText(ss4.str()); std::wstringstream ss5; ss5 << _game->getLanguage()->getString("STR_PSTRENGTH") << L'\x01' << unit->getStats()->psiStrength; _txtPStr->setText(ss5.str()); } else { _txtPSkill->setText(L""); _txtPStr->setText(L""); } } updateStats(); }
/** * Update soldier stats when * the soldier changes. */ void SoldierInfoState::init() { Soldier *s = _base->getSoldiers()->at(_soldier); _edtSoldier->setText(s->getName()); UnitStats *initial = s->getInitStats(); UnitStats *current = s->getCurrentStats(); SurfaceSet *texture = _game->getResourcePack()->getSurfaceSet("BASEBITS.PCK"); texture->getFrame(s->getRankSprite())->setX(0); texture->getFrame(s->getRankSprite())->setY(0); texture->getFrame(s->getRankSprite())->blit(_rank); std::wstringstream ss; ss << current->tu; _numTimeUnits->setText(ss.str()); _barTimeUnits->setMax(current->tu); _barTimeUnits->setValue(current->tu); _barTimeUnits->setValue2(initial->tu); std::wstringstream ss2; ss2 << current->stamina; _numStamina->setText(ss2.str()); _barStamina->setMax(current->stamina); _barStamina->setValue(current->stamina); _barStamina->setValue2(initial->stamina); std::wstringstream ss3; ss3 << current->health; _numHealth->setText(ss3.str()); _barHealth->setMax(current->health); _barHealth->setValue(current->health); _barHealth->setValue2(initial->health); std::wstringstream ss4; ss4 << current->bravery; _numBravery->setText(ss4.str()); _barBravery->setMax(current->bravery); _barBravery->setValue(current->bravery); _barBravery->setValue2(initial->bravery); std::wstringstream ss5; ss5 << current->reactions; _numReactions->setText(ss5.str()); _barReactions->setMax(current->reactions); _barReactions->setValue(current->reactions); _barReactions->setValue2(initial->reactions); std::wstringstream ss6; ss6 << current->firing; _numFiring->setText(ss6.str()); _barFiring->setMax(current->firing); _barFiring->setValue(current->firing); _barFiring->setValue2(initial->firing); std::wstringstream ss7; ss7 << current->throwing; _numThrowing->setText(ss7.str()); _barThrowing->setMax(current->throwing); _barThrowing->setValue(current->throwing); _barThrowing->setValue2(initial->throwing); std::wstringstream ss8; ss8 << current->strength; _numStrength->setText(ss8.str()); _barStrength->setMax(current->strength); _barStrength->setValue(current->strength); _barStrength->setValue2(initial->strength); _txtArmor->setText(_game->getLanguage()->getString(s->getArmor()->getType())); std::wstringstream ss9; ss9 << _game->getLanguage()->getString("STR_RANK_") << L'\x01' << _game->getLanguage()->getString(s->getRankString()); _txtRank->setText(ss9.str()); std::wstringstream ss10; ss10 << _game->getLanguage()->getString("STR_MISSIONS") << L'\x01' << s->getMissions(); _txtMissions->setText(ss10.str()); std::wstringstream ss11; ss11 << _game->getLanguage()->getString("STR_KILLS") << L'\x01' << s->getKills(); _txtKills->setText(ss11.str()); std::wstringstream ss12; ss12 << _game->getLanguage()->getString("STR_CRAFT_") << L'\x01'; if (s->getCraft() == 0) ss12 << _game->getLanguage()->getString("STR_NONE_UC"); else ss12 << s->getCraft()->getName(_game->getLanguage()); _txtCraft->setText(ss12.str()); if (s->getWoundRecovery() > 1) { std::wstringstream ss13; ss13 << _game->getLanguage()->getString("STR_WOUND_RECOVERY") << L'\x01' << s->getWoundRecovery(); if (s->getWoundRecovery() > 1) ss13 << _game->getLanguage()->getString("STR_DAYS"); else ss13 << _game->getLanguage()->getString("STR_DAY"); _txtRecovery->setText(ss13.str()); } else { _txtRecovery->setText(L""); } }
/** * Updates soldier stats when * the soldier changes. */ void SoldierInfoState::init() { if(_base->getSoldiers()->empty()) { _game->popState(); return; } if(_soldier == _base->getSoldiers()->size()) { _soldier = 0; } Soldier *s = _base->getSoldiers()->at(_soldier); _edtSoldier->setText(s->getName()); UnitStats *initial = s->getInitStats(); UnitStats *current = s->getCurrentStats(); SurfaceSet *texture = _game->getResourcePack()->getSurfaceSet("BASEBITS.PCK"); texture->getFrame(s->getRankSprite())->setX(0); texture->getFrame(s->getRankSprite())->setY(0); texture->getFrame(s->getRankSprite())->blit(_rank); std::wstringstream ss; ss << current->tu; _numTimeUnits->setText(ss.str()); _barTimeUnits->setMax(current->tu); _barTimeUnits->setValue(current->tu); _barTimeUnits->setValue2(initial->tu); std::wstringstream ss2; ss2 << current->stamina; _numStamina->setText(ss2.str()); _barStamina->setMax(current->stamina); _barStamina->setValue(current->stamina); _barStamina->setValue2(initial->stamina); std::wstringstream ss3; ss3 << current->health; _numHealth->setText(ss3.str()); _barHealth->setMax(current->health); _barHealth->setValue(current->health); _barHealth->setValue2(initial->health); std::wstringstream ss4; ss4 << current->bravery; _numBravery->setText(ss4.str()); _barBravery->setMax(current->bravery); _barBravery->setValue(current->bravery); _barBravery->setValue2(initial->bravery); std::wstringstream ss5; ss5 << current->reactions; _numReactions->setText(ss5.str()); _barReactions->setMax(current->reactions); _barReactions->setValue(current->reactions); _barReactions->setValue2(initial->reactions); std::wstringstream ss6; ss6 << current->firing; _numFiring->setText(ss6.str()); _barFiring->setMax(current->firing); _barFiring->setValue(current->firing); _barFiring->setValue2(initial->firing); std::wstringstream ss7; ss7 << current->throwing; _numThrowing->setText(ss7.str()); _barThrowing->setMax(current->throwing); _barThrowing->setValue(current->throwing); _barThrowing->setValue2(initial->throwing); std::wstringstream ss8; ss8 << current->strength; _numStrength->setText(ss8.str()); _barStrength->setMax(current->strength); _barStrength->setValue(current->strength); _barStrength->setValue2(initial->strength); std::wstring wsArmor; std::string armorType = s->getArmor()->getType(); if (armorType == "STR_NONE_UC") { wsArmor.reserve(15); wsArmor = tr("STR_ARMOR"); wsArmor += L"> "; wsArmor += tr(armorType); } else wsArmor = tr(armorType); _btnArmor->setText(wsArmor); // _txtArmor->setText(tr(s->getArmor()->getType())); _btnSack->setVisible(!(s->getCraft() && s->getCraft()->getStatus() == "STR_OUT")); std::wstringstream ss9; ss9 << tr("STR_RANK_") << L'\x01' << tr(s->getRankString()); _txtRank->setText(ss9.str()); std::wstringstream ss10; ss10 << tr("STR_MISSIONS") << L'\x01' << s->getMissions(); _txtMissions->setText(ss10.str()); std::wstringstream ss11; ss11 << tr("STR_KILLS") << L'\x01' << s->getKills(); _txtKills->setText(ss11.str()); std::wstringstream ss12; ss12 << tr("STR_CRAFT_") << L'\x01'; if (s->getCraft() == 0) ss12 << tr("STR_NONE_UC"); else ss12 << s->getCraft()->getName(_game->getLanguage()); _txtCraft->setText(ss12.str()); if (s->getWoundRecovery() > 0) { std::wstringstream ss13; ss13 << tr("STR_WOUND_RECOVERY") << L'\x01' << tr("STR_DAY", s->getWoundRecovery()); _txtRecovery->setText(ss13.str()); } else { _txtRecovery->setText(L""); } _txtPsionic->setVisible(s->isInPsiTraining()); if(current->psiSkill > 0) { std::wstringstream ss14; ss14 << current->psiStrength; _numPsiStrength->setText(ss14.str()); _barPsiStrength->setMax(current->psiStrength); _barPsiStrength->setValue(current->psiStrength); _barPsiStrength->setValue2(initial->psiStrength); std::wstringstream ss15; ss15 << current->psiSkill; _numPsiSkill->setText(ss15.str()); _barPsiSkill->setMax(current->psiSkill); _barPsiSkill->setValue(current->psiSkill); _barPsiSkill->setValue2(initial->psiSkill); _txtPsiStrength->setVisible(true); _numPsiStrength->setVisible(true); _barPsiStrength->setVisible(true); _txtPsiSkill->setVisible(true); _numPsiSkill->setVisible(true); _barPsiSkill->setVisible(true); } else { _txtPsiStrength->setVisible(false); _numPsiStrength->setVisible(false); _barPsiStrength->setVisible(false); _txtPsiSkill->setVisible(false); _numPsiSkill->setVisible(false); _barPsiSkill->setVisible(false); } }
/** * Updates all soldier stats when the soldier changes. */ void InventoryState::init() { State::init(); BattleUnit *unit = _battleGame->getSelectedUnit(); // no selected unit, close inventory if (unit == 0) { btnOkClick(0); return; } // skip to the first unit with inventory if (!unit->hasInventory()) { if (_parent) { _parent->selectNextPlayerUnit(false, false, true); } else { _battleGame->selectNextPlayerUnit(false, false, true); } // no available unit, close inventory if (_battleGame->getSelectedUnit() == 0 || !_battleGame->getSelectedUnit()->hasInventory()) { // starting a mission with just vehicles btnOkClick(0); return; } else { unit = _battleGame->getSelectedUnit(); } } if (_parent) _parent->getMap()->getCamera()->centerOnPosition(unit->getPosition(), false); unit->setCache(0); _soldier->clear(); _btnRank->clear(); _txtName->setBig(); _txtName->setText(unit->getName(_game->getLanguage())); _inv->setSelectedUnit(unit); Soldier *s = _game->getSavedGame()->getSoldier(unit->getId()); if (s) { SurfaceSet *texture = _game->getResourcePack()->getSurfaceSet("BASEBITS.PCK"); texture->getFrame(s->getRankSprite())->setX(0); texture->getFrame(s->getRankSprite())->setY(0); texture->getFrame(s->getRankSprite())->blit(_btnRank); std::string look = s->getArmor()->getSpriteInventory(); if (s->getGender() == GENDER_MALE) look += "M"; else look += "F"; if (s->getLook() == LOOK_BLONDE) look += "0"; if (s->getLook() == LOOK_BROWNHAIR) look += "1"; if (s->getLook() == LOOK_ORIENTAL) look += "2"; if (s->getLook() == LOOK_AFRICAN) look += "3"; look += ".SPK"; if (!CrossPlatform::fileExists(CrossPlatform::getDataFile("UFOGRAPH/" + look)) && !_game->getResourcePack()->getSurface(look)) { look = s->getArmor()->getSpriteInventory() + ".SPK"; } _game->getResourcePack()->getSurface(look)->blit(_soldier); } else { Surface *armorSurface = _game->getResourcePack()->getSurface(unit->getArmor()->getSpriteInventory()); if (armorSurface) { armorSurface->blit(_soldier); } } updateStats(); }
/** * Updates all soldier stats when the soldier changes. */ void InventoryState::init() { BattleUnit *unit = _battleGame->getSelectedUnit(); // no selected unit, close inventory if (unit == 0) { btnOkClick(0); return; } // skip to the first unit with inventory if (!unit->hasInventory()) { if (_parent) { _parent->selectNextPlayerUnit(false, false, true); } else { _battleGame->selectNextPlayerUnit(false, false, true); } // no available unit, close inventory if (_battleGame->getSelectedUnit() == 0) { // starting a mission with just vehicles btnOkClick(0); return; } else { unit = _battleGame->getSelectedUnit(); } } if (_parent) _parent->getMap()->getCamera()->centerOnPosition(unit->getPosition()); unit->setCache(0); _soldier->clear(); _btnRank->clear(); _txtName->setBig(); _txtName->setText(unit->getName(_game->getLanguage())); _inv->setSelectedUnit(unit); Soldier *s = _game->getSavedGame()->getSoldier(unit->getId()); if (s) { SurfaceSet *texture = _game->getResourcePack()->getSurfaceSet("BASEBITS.PCK"); texture->getFrame(s->getRankSprite())->setX(0); texture->getFrame(s->getRankSprite())->setY(0); texture->getFrame(s->getRankSprite())->blit(_btnRank); std::string look = s->getArmor()->getSpriteInventory(); if (s->getGender() == GENDER_MALE) look += "M"; else look += "F"; if (s->getLook() == LOOK_BLONDE) look += "0"; if (s->getLook() == LOOK_BROWNHAIR) look += "1"; if (s->getLook() == LOOK_ORIENTAL) look += "2"; if (s->getLook() == LOOK_AFRICAN) look += "3"; look += ".SPK"; if (!CrossPlatform::fileExists(CrossPlatform::getDataFile("UFOGRAPH/" + look)) && !_game->getResourcePack()->getSurface(look)) { look = s->getArmor()->getSpriteInventory() + ".SPK"; } _game->getResourcePack()->getSurface(look)->blit(_soldier); } else { Surface *armorSurface = _game->getResourcePack()->getSurface(unit->getArmor()->getSpriteInventory()); if (armorSurface) { armorSurface->blit(_soldier); } } if (_showMoreStatsInInventoryView && !_tu) { std::wstringstream ss2; ss2 << tr("STR_FACCURACY") << L'\x01' << (int)(unit->getStats()->firing * unit->getAccuracyModifier()); _txtFAcc->setText(ss2.str()); std::wstringstream ss3; ss3 << tr("STR_REACT") << L'\x01' << unit->getStats()->reactions; _txtReact->setText(ss3.str()); if (unit->getStats()->psiSkill > 0) { std::wstringstream ss4; ss4 << tr("STR_PSKILL") << L'\x01' << unit->getStats()->psiSkill; _txtPSkill->setText(ss4.str()); std::wstringstream ss5; ss5 << tr("STR_PSTRENGTH") << L'\x01' << unit->getStats()->psiStrength; _txtPStr->setText(ss5.str()); } else { _txtPSkill->setText(L""); _txtPStr->setText(L""); } } updateStats(); }
/** * Update soldier stats when * the soldier changes. */ void SoldierInfoState::init() { Soldier *s = _base->getSoldiers()->at(_soldier); _edtSoldier->setText(s->getName()); SurfaceSet *texture = _game->getResourcePack()->getSurfaceSet("BASEBITS.PCK"); texture->getFrame(s->getRankSprite())->setX(0); texture->getFrame(s->getRankSprite())->setY(0); texture->getFrame(s->getRankSprite())->blit(_rank); std::wstringstream ss; ss << s->getTimeUnits(); _numTimeUnits->setText(ss.str()); _barTimeUnits->setMax(s->getTimeUnits()); _barTimeUnits->setValue(s->getTimeUnits()); std::wstringstream ss2; ss2 << s->getStamina(); _numStamina->setText(ss2.str()); _barStamina->setMax(s->getStamina()); _barStamina->setValue(s->getStamina()); std::wstringstream ss3; ss3 << s->getHealth(); _numHealth->setText(ss3.str()); _barHealth->setMax(s->getHealth()); _barHealth->setValue(s->getHealth()); std::wstringstream ss4; ss4 << s->getBravery(); _numBravery->setText(ss4.str()); _barBravery->setMax(s->getBravery()); _barBravery->setValue(s->getBravery()); std::wstringstream ss5; ss5 << s->getReactions(); _numReactions->setText(ss5.str()); _barReactions->setMax(s->getReactions()); _barReactions->setValue(s->getReactions()); std::wstringstream ss6; ss6 << s->getFiringAccuracy(); _numFiring->setText(ss6.str()); _barFiring->setMax(s->getFiringAccuracy()); _barFiring->setValue(s->getFiringAccuracy()); std::wstringstream ss7; ss7 << s->getThrowingAccuracy(); _numThrowing->setText(ss7.str()); _barThrowing->setMax(s->getThrowingAccuracy()); _barThrowing->setValue(s->getThrowingAccuracy()); std::wstringstream ss8; ss8 << s->getStrength(); _numStrength->setText(ss8.str()); _barStrength->setMax(s->getStrength()); _barStrength->setValue(s->getStrength()); _txtArmor->setText(_game->getLanguage()->getString("STR_NONE_UC")); std::wstringstream ss9; ss9 << _game->getLanguage()->getString("STR_RANK_") << L'\x01' << _game->getLanguage()->getString(s->getRankString()); _txtRank->setText(ss9.str()); std::wstringstream ss10; ss10 << _game->getLanguage()->getString("STR_MISSIONS") << L'\x01' << s->getMissions(); _txtMissions->setText(ss10.str()); std::wstringstream ss11; ss11 << _game->getLanguage()->getString("STR_KILLS") << L'\x01' << s->getKills(); _txtKills->setText(ss11.str()); std::wstringstream ss12; ss12 << _game->getLanguage()->getString("STR_CRAFT_") << L'\x01'; if (s->getCraft() == 0) ss12 << _game->getLanguage()->getString("STR_NONE"); else ss12 << s->getCraft()->getName(_game->getLanguage()); _txtCraft->setText(ss12.str()); }
/** * Updates soldier name/rank/tu/energy/health/morale. * @param battleUnit Pointer to current unit. */ void BattlescapeState::updateSoldierInfo(BattleUnit *battleUnit) { if (battleUnit == 0) { _txtName->setText(L""); _rank->clear(); _numTimeUnits->clear(); _barTimeUnits->clear(); _barTimeUnits->clear(); _numEnergy->clear(); _barEnergy->clear(); _barEnergy->clear(); _numHealth->clear(); _barHealth->clear(); _barHealth->clear(); _numMorale->clear(); _barMorale->clear(); _barMorale->clear(); _btnLeftHandItem->clear(); _btnRightHandItem->clear(); return; } _txtName->setText(battleUnit->getUnit()->getName()); Soldier *soldier = dynamic_cast<Soldier*>(battleUnit->getUnit()); if (soldier != 0) { SurfaceSet *texture = _game->getResourcePack()->getSurfaceSet("BASEBITS.PCK"); texture->getFrame(soldier->getRankSprite())->blit(_rank); } _numTimeUnits->setValue(battleUnit->getTimeUnits()); _barTimeUnits->setMax(battleUnit->getUnit()->getTimeUnits()); _barTimeUnits->setValue(battleUnit->getTimeUnits()); _numEnergy->setValue(battleUnit->getEnergy()); _barEnergy->setMax(battleUnit->getUnit()->getStamina()); _barEnergy->setValue(battleUnit->getEnergy()); _numHealth->setValue(battleUnit->getHealth()); _barHealth->setMax(battleUnit->getUnit()->getHealth()); _barHealth->setValue(battleUnit->getHealth()); _numMorale->setValue(battleUnit->getMorale()); _barMorale->setMax(100); _barMorale->setValue(battleUnit->getMorale()); BattleItem *leftHandItem = _battleGame->getItemFromUnit(battleUnit, LEFT_HAND); _btnLeftHandItem->clear(); _numAmmoLeft->clear(); if (leftHandItem) { drawItemSprite(leftHandItem, _btnLeftHandItem); _numAmmoLeft->setValue(leftHandItem->getAmmoQuantity()); } BattleItem *rightHandItem = _battleGame->getItemFromUnit(battleUnit, RIGHT_HAND); _btnRightHandItem->clear(); _numAmmoRight->clear(); if (rightHandItem) { drawItemSprite(rightHandItem, _btnRightHandItem); _numAmmoRight->setValue(rightHandItem->getAmmoQuantity()); } _battleGame->getTerrainModifier()->calculateFOV(_battleGame->getSelectedUnit()); for (int i = 0; i < 10; i++) { _btnVisibleUnit[i]->hide(); _numVisibleUnit[i]->hide(); _visibleUnit[i] = 0; } int j = 0; for (std::vector<BattleUnit*>::iterator i = battleUnit->getVisibleUnits()->begin(); i != battleUnit->getVisibleUnits()->end(); i++) { _btnVisibleUnit[j]->show(); _numVisibleUnit[j]->show(); _visibleUnit[j] = (*i); j++; } }