24 [[
nodiscard]] std::expected<PieceIdlePlaybackUpdate, std::string>
tick(
29 {
return movingOutSequence_; }
31 {
return movingInSequence_; }
33 {
return plan_ && plan_->movingOut ? std::optional<rules::PlayerNumber>(plan_->movingOut->player) : std::nullopt; }
35 {
return plan_ && plan_->movingIn ? std::optional<rules::PlayerNumber>(plan_->movingIn->player) : std::nullopt; }
38 [[
nodiscard]] std::expected<void, std::string> startAnimation(
44 std::optional<PieceIdleTransitionPlan> plan_;
decision::EconomicActionPlan plan
std::atomic< bool > finished
data::DataId movingOutSequence() const noexcept
bool active() const noexcept
data::DataId movingInSequence() const noexcept
std::optional< rules::PlayerNumber > movingOutPlayer() const noexcept
std::expected< void, std::string > begin(PieceIdleTransitionPlan plan)
std::optional< rules::PlayerNumber > movingInPlayer() const noexcept
std::expected< PieceIdlePlaybackUpdate, std::string > tick(engine::SequencePlayback &playback)
constexpr DataId EmptyDataId