mirror of
https://github.com/vcmi/vcmi.git
synced 2024-11-24 08:32:34 +02:00
vcmi: allow showing no more than 8 components
In InfoWindow there is no place for more than 8 components. Better to have more annoying windows than window which cannot be closed Slider may be better of course, but I cannot do it for now.
This commit is contained in:
parent
e764a7255d
commit
b4940ee247
@ -1053,11 +1053,17 @@ void CPlayerInterface::showInfoDialog(EInfoWindowMode type, const std::string &t
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
std::vector<Component> vect = components; //I do not know currently how to avoid copy here
|
||||||
|
do
|
||||||
|
{
|
||||||
|
std::vector<Component> sender = {vect.begin(), vect.begin() + std::min(vect.size(), static_cast<size_t>(8))};
|
||||||
std::vector<std::shared_ptr<CComponent>> intComps;
|
std::vector<std::shared_ptr<CComponent>> intComps;
|
||||||
for (auto & component : components)
|
for (auto & component : sender)
|
||||||
intComps.push_back(std::make_shared<CComponent>(component));
|
intComps.push_back(std::make_shared<CComponent>(component));
|
||||||
showInfoDialog(text,intComps,soundID);
|
showInfoDialog(text,intComps,soundID);
|
||||||
|
vect.erase(vect.begin(), vect.begin() + std::min(vect.size(), static_cast<size_t>(8)));
|
||||||
|
}
|
||||||
|
while(!vect.empty());
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPlayerInterface::showInfoDialog(const std::string & text, std::shared_ptr<CComponent> component)
|
void CPlayerInterface::showInfoDialog(const std::string & text, std::shared_ptr<CComponent> component)
|
||||||
|
Loading…
Reference in New Issue
Block a user