51 std::array<rules::PlayerNumber, rules::MaxPlayers>
playerOrder{};
54 std::array<std::uint8_t, rules::SquareCount>
deedOrder{};
55 std::array<std::int64_t, rules::SquareCount>
deedMetric{};
60 std::array<BankDeedState, rules::SquareCount>
bankDeeds{};
80 const int left = 54 + 93 *
static_cast<int>(
index);
81 return {
left, 510,
left + 77 - 3 *
static_cast<int>(
index), 550};
86 const int left = 495 + 70 *
static_cast<int>(
index);
87 return {
left, 510,
left + 56 + 2 *
static_cast<int>(
index), 550};
107 bool modernPlayerLayout =
false)
noexcept;
119 display::Screen2D view,
const uimsg::Message& message)
noexcept;
std::atomic< float > left
ibar::layout::PropertyMask mortgageProperties
ibar::layout::PropertyMask sellProperties
ibar::layout::PropertyMask buildProperties
std::uint32_t PropertyMask
std::uint8_t PlayerNumber
constexpr PlayerNumber NobodyPlayer
std::optional< std::uint8_t > sortHit(int x, int y) noexcept
constexpr Rect sortRect(std::uint8_t index) noexcept
void refresh(State &state, const rules::GameState &gameState) noexcept
std::optional< int > propertyActionHit(const State &state, const rules::GameState &gameState, int x, int y) noexcept
bool selectSort(State &state, std::uint8_t sortIndex, const rules::GameState &gameState) noexcept
std::optional< Screen > categoryHit(int x, int y) noexcept
void syncView(State &state, const rules::GameState &gameState, display::Screen2D view) noexcept
constexpr Rect categoryRect(std::uint8_t index) noexcept
void reset(State &state) noexcept
std::optional< Rect > playerPropertyRect(const State &state, const rules::GameState &gameState, std::size_t column, int square) noexcept
bool modernPlayerGridActive(const State &state, const rules::GameState &gameState, rules::PlayerNumber player) noexcept
void setPropertyActionContext(State &state, ibar::RuleMode mode, rules::PlayerNumber player, bool localHuman, ibar::layout::PropertyMask buildProperties, ibar::layout::PropertyMask sellProperties, ibar::layout::PropertyMask mortgageProperties, bool modernPlayerLayout) noexcept
int historyScrollInput(State &state, display::Screen2D view, const uimsg::Message &message) noexcept
bool selectCategory(State &state, Screen screen, const rules::GameState &gameState) noexcept
bool processInput(State &state, const rules::GameState &gameState, display::Screen2D view, const uimsg::Message &message) noexcept
constexpr bool contains(int x, int y) const noexcept
friend bool operator==(const Rect &, const Rect &)=default
rules::PlayerNumber propertyActionPlayer
std::array< BankDeedState, rules::SquareCount > bankDeeds
bool propertyActionPlayerLocalHuman
std::array< std::int64_t, rules::SquareCount > deedMetric
std::array< rules::PlayerNumber, rules::MaxPlayers > playerOrder
ibar::layout::PropertyMask sellProperties
bool modernJailLayoutQualified
std::array< std::uint8_t, 3 > lastSort
std::array< int, rules::MaxPlayers > bankPlayerHouses
bool activeDatasetAvailable
ibar::RuleMode propertyActionMode
std::array< std::uint8_t, rules::SquareCount > deedOrder
ibar::layout::PropertyMask buildProperties
std::array< std::int64_t, rules::MaxPlayers > playerMetric
std::array< int, rules::MaxPlayers > bankPlayerHotels
ibar::layout::PropertyMask mortgageProperties