44 using Slot = std::optional<rules::PlayerNumber>;
46 using Occupancy = std::array<SquareSlots, BoardSquareCountWithSpecials>;
64 std::optional<rules::PlayerNumber> center_;
std::expected< void, PieceIdleTransitionError > initialize(const rules::GameState &state, std::optional< rules::PlayerNumber > center=std::nullopt) noexcept
std::optional< rules::PlayerNumber > Slot
bool initialized() const noexcept
const Occupancy & occupancy() const noexcept
std::array< Slot, RestingPositionCount > SquareSlots
std::expected< void, PieceIdleTransitionError > initializeNewGame(const rules::GameState &state) noexcept
std::optional< rules::PlayerNumber > center() const noexcept
std::array< SquareSlots, BoardSquareCountWithSpecials > Occupancy
std::expected< PieceIdleTransitionPlan, PieceIdleTransitionError > planTurnChange(const rules::GameState &state, rules::PlayerNumber newCurrent) noexcept
constexpr DataId EmptyDataId
constexpr data::DataTag IdleToRestBaseTag
constexpr data::DataTag IdleAnimationsPerToken
constexpr data::DataTag RestToCenterBaseTag
std::uint8_t PlayerNumber
constexpr PlayerNumber NobodyPlayer
rules::PlayerNumber player
std::optional< PieceIdleAnimation > movingOut
std::optional< PieceIdleAnimation > movingIn
rules::PlayerNumber newCenter