16 std::array<data::DataId, 2>
desired{};
29 std::array<std::shared_ptr<const sequence::SequenceProgram>, 2>
programs{};
36 return std::unexpected(
loaded.error().detail);
40 std::vector<sequence::SequenceCommand> commands;
58 return std::unexpected(
"sequence command queue cannot fit IBar jail-card transition");
60 for (
auto& command : commands)
62 const auto queued = std::visit(
66 return std::unexpected(
"validated IBar jail-card command rejected");
std::expected< void, std::string > sync(const rules::GameState &state, bool propertyBarAvailable, rules::PlayerNumber activePlayer, engine::SequencePlayback &playback)
static constexpr std::size_t Capacity
static std::expected< std::shared_ptr< const SequenceProgram >, RuntimeError > load(const data::DataSource &source, data::DataId id, std::size_t offset=0, DescriptionLimits limits={})
constexpr DataId EmptyDataId
constexpr std::uint16_t JailCardBasePriority
constexpr std::array< std::int32_t, 2 > JailCardX
constexpr std::array< std::int32_t, 2 > JailCardY
constexpr data::DataId jailCardSequence(std::size_t deck) noexcept
std::uint8_t PlayerNumber
constexpr PlayerNumber MaxPlayers
MoveSequenceCommand makeMoveXY(data::DataId dataId, std::uint16_t priority, std::int32_t x, std::int32_t y) noexcept