30 lines
1.1 KiB
C++
30 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include <string>
|
|
|
|
#include "BufferedBuildingContent.h"
|
|
#include "SelectionContentFactory.h"
|
|
|
|
// The card for a Smelter or a Reprocessing Plant (REQ-UI-SELECTION-CONTENT). Both
|
|
// auto-process whatever they receive and have no player-facing recipe selection
|
|
// (REQ-BLD-SMELTER, REQ-BLD-REPROCESSING), so the card has no configuration group at
|
|
// all; its cycle is whichever recipe is in production, or the last one that was.
|
|
class AutoProductionContent : public BufferedBuildingContent
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
AutoProductionContent(const SelectionContext& context,
|
|
const SelectionRequest& request, QWidget* parent = nullptr);
|
|
|
|
protected:
|
|
CycleInfo getCycleInfo(const BuildingTarget& target) const override;
|
|
|
|
private:
|
|
// The recipe last seen in production, which keeps describing the cycle while the
|
|
// building sits between cycles (REQ-UI-RECIPE-SUMMARY). Mutable because it is a
|
|
// record of what getCycleInfo() has observed rather than state of its own: the card
|
|
// shows the same thing whether or not it has been asked before.
|
|
mutable std::string m_lastRecipeId;
|
|
};
|