28 published_.fill(std::nullopt);
35 std::array<std::optional<Published>, SlotCount>
desired{};
36 std::array<std::optional<sequence::SequenceTransform>, SlotCount>
48 if (
state.downEnabled)
62 std::array<std::shared_ptr<const sequence::SequenceProgram>, SlotCount>
74 return std::unexpected(
75 "UDStats Future/Immunity sequence failed: " +
83 return std::unexpected(
84 "sequence command queue cannot fit UDStats Future/Immunity transition");
87 std::vector<sequence::SequenceCommand> commands;
96 published_[
slot]->priority,
105 for (
auto& command : commands)
107 const auto queued = std::visit(
111 }, std::move(command));
113 return std::unexpected(
114 "validated UDStats Future/Immunity command rejected");
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={})
std::expected< void, std::string > sync(const FutureImmunityState &state, display::Screen2D desiredView, engine::SequencePlayback &playback)
constexpr DataId packDataId(std::uint16_t group, DataTag tag) noexcept
SequenceTransform moveXYTransform(std::int32_t x, std::int32_t y) noexcept
constexpr data::DataTag FutureImmunityDownTag
constexpr Rect FutureImmunityPopupRect
constexpr std::uint16_t FutureImmunityArrowPriority
constexpr std::uint16_t FutureImmunityContentPriority
constexpr data::DataTag FutureImmunityBoardTag
constexpr data::DataTag FutureImmunityFrameTag
constexpr data::DataTag FutureImmunityUpTag
constexpr std::uint16_t FutureImmunityPopupPriority