Files
dota_factory/src/lib/core/Blueprint.h

34 lines
857 B
C++

#pragma once
#include <optional>
#include <string>
#include <vector>
#include <QPoint>
#include <QString>
#include "BuildingType.h"
#include "ItemType.h"
#include "Rotation.h"
#include "ShipLayout.h"
struct BlueprintBuilding
{
BuildingType type;
Rotation rotation;
QPoint offset; // tile offset from bounding-box center (floor for even sizes)
std::string recipeId; // empty = none selected
std::optional<ShipLayoutConfig> shipLayout;
// Splitter output filters captured at blueprint creation (REQ-UI-BLUEPRINT-STORAGE).
// Empty = accept all. Re-applied to the placed splitter site (REQ-UI-BLUEPRINT-PLACE).
std::vector<ItemType> splitterFilterA;
std::vector<ItemType> splitterFilterB;
};
struct Blueprint
{
QString name;
std::vector<BlueprintBuilding> buildings;
};