30 [[
nodiscard]] std::vector<CalculatorDeedPickerPlayback::Published>
34 std::vector<CalculatorDeedPickerPlayback::Published> result;
44 if (property < 0)
continue;
55 const auto id =
playback.deedDataId(*ui.hoveredDeed,
true,
77 std::vector<Published>
added;
78 for (
const auto&
object : current_)
81 for (
const auto&
object :
desired)
82 if (std::find(current_.begin(), current_.end(),
object) == current_.end())
83 added.push_back(
object);
85 std::vector<std::shared_ptr<const sequence::SequenceProgram>>
programs;
87 for (
const auto&
object :
added)
91 return std::unexpected(
92 "UDStats calculator deed picker failed: " +
loaded.error());
103 return std::unexpected(
104 "sequence command queue cannot fit calculator deed picker transition");
117 return std::unexpected(
created.error());
124 return std::unexpected(
raw.error().detail);
133 CalculatorDeedPickerPriority - 1,
138 return std::unexpected(
139 "validated calculator deed picker background start rejected");
142 for (
const auto&
object :
removed)
146 object.id, object.priority, false}))
147 return std::unexpected(
148 "validated calculator deed picker stop rejected");
155 programs[index], object.priority, {},
157 return std::unexpected(
158 "validated calculator deed picker start rejected");
165 sequence::StopSequenceCommand{
166 *background_, CalculatorDeedPickerPriority - 1, false}))
167 return std::unexpected(
168 "validated calculator deed picker background stop rejected");
static constexpr std::size_t Capacity
static std::expected< std::shared_ptr< const SequenceProgram >, RuntimeError > rawBitmap(data::DataId id, data::LegacyDataType sourceType, DescriptionLimits limits={})
std::expected< void, std::string > sync(const CalculatorUIState &ui, int city, display::Screen2D desiredView, engine::SequencePlayback &playback)
constexpr DataId EmptyDataId
constexpr DataId packDataId(std::uint16_t group, DataTag tag) noexcept
int propertyIndex(int square) noexcept
constexpr std::size_t SquareCount
SequenceTransform moveXYTransform(std::int32_t x, std::int32_t y) noexcept
constexpr int CalculatorDeedPickerY
constexpr int CalculatorDeedPickerColumns
constexpr int CalculatorDeedPickerBackgroundX
constexpr int CalculatorDeedPickerColumnStep
constexpr std::uint16_t CalculatorDeedPickerPriority
constexpr data::DataTag PlayerDeedNormalBaseTag
constexpr data::DataTag DeedFloaterCardBaseTag
constexpr int CalculatorDeedPickerBackgroundHeight
constexpr int DeedFloaterCardsPerCity
constexpr int CalculatorDeedPickerBackgroundWidth
constexpr int CalculatorDeedPickerRowStep
constexpr int CalculatorDeedPickerX
constexpr int CalculatorDeedPickerBackgroundY