allow to set the recipe already for construction sites

This commit is contained in:
2026-06-22 21:32:24 +02:00
parent e5017ab3c5
commit d271d65678
10 changed files with 233 additions and 89 deletions

View File

@@ -7,7 +7,8 @@
#include <QDialog>
#include <QString>
struct Building;
#include "BuildingType.h"
struct GameConfig;
class Simulation;
class QPushButton;
@@ -21,13 +22,14 @@ struct RecipeSelectionOption
QString tooltip;
};
// Builds the lock-aware list of selectable options for a production building,
// with display captions and info tooltips (REQ-UI-SELECT-BUTTON,
// REQ-UI-SELECT-TOOLTIP). The first entry is always a "(None)" option with an
// empty id. Shared by the selection dialog and the panel selection button so
// both render identical captions and tooltips.
// Builds the lock-aware list of selectable options for a production building
// of the given type, with display captions and info tooltips
// (REQ-UI-SELECT-BUTTON, REQ-UI-SELECT-TOOLTIP). The first entry is always a
// "(None)" option with an empty id. Shared by the selection dialog and the
// panel selection button so both render identical captions and tooltips, and
// usable for construction sites which have no Building yet (REQ-BLD-SITE-CONFIG).
std::vector<RecipeSelectionOption> buildRecipeSelectionOptions(
const Building& building, Simulation& sim, const GameConfig& config);
BuildingType type, Simulation& sim, const GameConfig& config);
// Modal dialog showing a grid of option buttons (REQ-UI-SELECT-BUTTON). The
// game is paused by the caller while it is open. Clicking an option selects it