fix output display
This commit is contained in:
@@ -231,7 +231,25 @@ void SelectedBuildingPanel::refreshBuffers(const Building* b)
|
|||||||
bufText += "\n";
|
bufText += "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!b->outputBuffer.items.empty())
|
if (recipe && !recipe->outputs.empty())
|
||||||
|
{
|
||||||
|
std::map<std::string, int> outCounts;
|
||||||
|
for (const Item& item : b->outputBuffer.items)
|
||||||
|
{
|
||||||
|
outCounts[item.type.id]++;
|
||||||
|
}
|
||||||
|
bufText += "Output: ";
|
||||||
|
for (const RecipeOutput& out : recipe->outputs)
|
||||||
|
{
|
||||||
|
const std::map<std::string, int>::const_iterator it =
|
||||||
|
outCounts.find(out.item);
|
||||||
|
const int count = (it != outCounts.end()) ? it->second : 0;
|
||||||
|
bufText += QString::fromStdString(out.item)
|
||||||
|
+ ": " + QString::number(count)
|
||||||
|
+ "/" + QString::number(out.amount) + " ";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (!b->outputBuffer.items.empty())
|
||||||
{
|
{
|
||||||
std::map<std::string, int> outCounts;
|
std::map<std::string, int> outCounts;
|
||||||
for (const Item& item : b->outputBuffer.items)
|
for (const Item& item : b->outputBuffer.items)
|
||||||
@@ -241,21 +259,8 @@ void SelectedBuildingPanel::refreshBuffers(const Building* b)
|
|||||||
bufText += "Output: ";
|
bufText += "Output: ";
|
||||||
for (const std::pair<const std::string, int>& entry : outCounts)
|
for (const std::pair<const std::string, int>& entry : outCounts)
|
||||||
{
|
{
|
||||||
int perCycle = 0;
|
|
||||||
if (recipe)
|
|
||||||
{
|
|
||||||
for (const RecipeOutput& out : recipe->outputs)
|
|
||||||
{
|
|
||||||
if (out.item == entry.first) { perCycle = out.amount; break; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
bufText += QString::fromStdString(entry.first)
|
bufText += QString::fromStdString(entry.first)
|
||||||
+ ": " + QString::number(entry.second);
|
+ ": " + QString::number(entry.second) + " ";
|
||||||
if (perCycle > 0)
|
|
||||||
{
|
|
||||||
bufText += "/" + QString::number(perCycle);
|
|
||||||
}
|
|
||||||
bufText += " ";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user