54 {66, 395, 99, 414}, {666, 395, 699, 414},
55 {266, 358, 299, 377}, {466, 358, 499, 377}}};
57 {66, 420, 99, 439}, {666, 420, 699, 439},
58 {266, 383, 299, 402}, {466, 383, 499, 402}}};
73 {614,114,764,128}, {614,128,764,142}, {614,142,764,156},
74 {614,156,764,170}, {614,170,764,184}}};
136 std::vector<actions::Message>
items;
147 std::array<PropertyMask, 2>
after{};
149 std::array<std::array<Rect, rules::SquareCount>, 4>
hitRects{};
150 std::array<std::array<int, rules::SquareCount>, 4>
priorities{};
228 std::int32_t hitCount,
229 std::uint32_t properties,
std::shared_ptr< const data::HmdTextureImage > source
std::uint8_t PlayerNumber
constexpr std::size_t MaxCountHitSets
constexpr PlayerNumber MaxPlayers
constexpr Rect CashTradeAT2
PropertyProjection projectProperties(const State &state, const rules::GameState &gameState) noexcept
bool addUiImmunity(rules::GameState &gameState, rules::PlayerNumber from, rules::PlayerNumber to, rules::CountHitType hitType, std::int32_t hitCount, std::uint32_t properties, bool tradingItem) noexcept
constexpr Rect FutureTradeBT
constexpr Rect CashTradeAT1
constexpr int PlayerSelectY
std::optional< int > propertyHit(const PropertyProjection &projection, int x, int y) noexcept
constexpr Rect ImmunityTradeAM
constexpr Rect CashTradeAM1
constexpr std::array< Rect, 4 > CommunityJailRects
constexpr Rect ImmunityTradeAT
constexpr Rect ContractDownRect
constexpr Rect CashTradeAM2
bool abortIfParticipantOffBoard(State &state, rules::GameState &gameState, display::Screen2D desiredView) noexcept
RuleUpdate processRuleMessage(State &state, rules::GameState &gameState, const actions::Message &message, display::Screen2D currentView, std::uint32_t localHumanMask, bool restoreAutonomousPortfolio)
constexpr Rect CancelRect
bool beginLocalTrade(State &state, const rules::GameState &gameState, rules::PlayerNumber source) noexcept
constexpr Rect ContractUpRect
bool selectPartner(State &state, const rules::GameState &gameState, rules::PlayerNumber player) noexcept
constexpr Rect FutureTradeBM
constexpr Rect ImmunityTradeBT
constexpr Rect ImmunityTradeBM
constexpr Rect CashTradeBM1
InputUpdate processInput(State &state, const rules::GameState &gameState, display::Screen2D desiredView, const uimsg::Message &message)
constexpr int PlayerSelectHeight
std::vector< actions::Message > planEditorSubmission(const State &state, rules::PlayerNumber editor, std::uint32_t localHumanMask)
constexpr std::array< Rect, 5 > ContractListRects
void reset(State &state) noexcept
constexpr Rect FutureTradeAM
constexpr std::uint8_t OffBoardSquare
std::uint32_t PropertyMask
constexpr Rect CashTradeBM2
constexpr std::uint16_t PlayerSelectPriority
constexpr Rect CashTradeBT1
constexpr int PlayerSelectX
void refreshContractProjection(State &state, const rules::GameState &gameState) noexcept
std::optional< rules::PlayerNumber > planPartnerSelection(State &state, const rules::GameState &gameState, display::Screen2D desiredView, const uimsg::Message &message) noexcept
constexpr Rect CashTradeBT2
constexpr std::array< Rect, 4 > ChanceJailRects
constexpr int PlayerSelectWidth
constexpr Rect ProposeRect
constexpr Rect ContractOkayRect
std::optional< Rect > playerTokenRect(const State &state, const rules::GameState &gameState, rules::PlayerNumber player) noexcept
constexpr std::size_t MaxTradeMessages
constexpr Rect FutureNewRect
constexpr Rect FutureTradeAT
constexpr Rect ImmunityNewRect
bool addTradeItem(State &state, const rules::GameState &gameState, const actions::Message &message)
bool operator==(const PropertyMoveRequest &) const =default
std::array< std::array< Rect, rules::SquareCount >, 4 > hitRects
std::array< PropertyMask, 2 > before
std::array< PropertyMask, 2 > offeredMortgaged
std::array< std::array< int, rules::SquareCount >, 4 > priorities
std::array< PropertyMask, 2 > offered
std::array< PropertyMask, 2 > after
std::array< PropertyMask, 2 > afterMortgaged
std::array< PropertyMask, 2 > beforeMortgaged
bool operator==(const Rect &) const =default
constexpr bool contains(int x, int y) const noexcept
std::optional< display::Screen2D > requestedBackdrop
std::array< std::int64_t, 4 > cashDesired
bool modernHoldingsLayout
std::uint8_t cashDialogSide
std::int32_t contractAmount
rules::PlayerNumber tradeFrom
rules::PlayerNumber playerB
std::array< std::uint8_t, 2 > jailCardDesired
display::Screen2D formerView
std::vector< ContractListEntry > contractList
rules::PlayerNumber playerA
std::uint32_t contractProperties
std::vector< actions::Message > items
std::array< std::int64_t, 2 > cashOriginalOffers
std::int64_t cashTradeAmount
std::array< std::uint8_t, 2 > immunityFutureDesired
bool contractDialogVisible
std::uint8_t contractDialogMode
CashDialogFeedback cashDialogFeedback
rules::TradeItemKind contractDialogKind
std::uint8_t contractDialogSide
std::optional< PropertyMoveRequest > propertyMove