Monopoly — Portage moderne 0.1.0
Portage moderne C/C++23 du Monopoly de 1999
Loading...
Searching...
No Matches
TradeBackdropPlayback.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "DataBanks.hpp"
4#include "Display.hpp"
5#include "RuleTypes.hpp"
7#include "TradeUI.hpp"
8
9#include <array>
10#include <cstddef>
11#include <cstdint>
12#include <expected>
13#include <string>
14
15namespace monopoly::tradeui
16{
17 inline constexpr std::uint16_t TradeBackdropPriority = 80;
18 inline constexpr std::uint16_t TradeColourRailPriority = 95;
19 inline constexpr std::uint16_t TradeDisplayBoardPriority = 1000;
20 inline constexpr std::uint16_t TradeTurntablePriority = 130;
21 inline constexpr std::uint16_t TradeArrowPriority = 140;
22 inline constexpr std::uint16_t TradeDisplayPanelPriority = 145;
23 inline constexpr std::uint16_t TradeFutureButtonPriority = 150;
24 inline constexpr std::uint16_t TradeCreateButtonPriority = 155;
25 inline constexpr std::uint16_t TradeImmunityButtonPriority = 160;
26
27 inline constexpr std::uint8_t TradeLoopToBeginning = 3;
28 inline constexpr data::DataTag TradeBackgroundTag = 0x02CD;
29 inline constexpr data::DataTag TradeDisplayBoardTag = 0x02BB;
30 inline constexpr data::DataTag TradeTurntableTag = 0x02DF;
31 inline constexpr data::DataTag TradeArrowTag = 0x02AC;
32 inline constexpr data::DataTag TradeDisplayLeftTag = 0x02CF;
33 inline constexpr data::DataTag TradeDisplayRightTag = 0x02D0;
34 inline constexpr data::DataTag TradeLeftColourBaseTag = 0x02AD;
35 inline constexpr data::DataTag TradeRightColourBaseTag = 0x02B4;
36 inline constexpr data::DataTag TradeCreateButtonTag = 0x02CE;
37 inline constexpr data::DataTag TradeFutureButtonTag = 0x02D1;
38 inline constexpr data::DataTag TradeImmunityButtonTag = 0x02D8;
39
45
47 {
48 public:
49 [[nodiscard]] std::expected<void, std::string> sync(
50 const State& state,
55 {
56 current_.fill(data::EmptyDataId);
57 }
58
59 [[nodiscard]] std::size_t activeCount() const noexcept;
61 {
62 return activeCount() != 0;
63 }
64
65 private:
66 static constexpr std::size_t SlotCount = 11;
67 std::array<data::DataId, SlotCount> current_{};
68 };
69}
unsigned state
unsigned index
std::expected< void, std::string > sync(const State &state, const rules::GameState &gameState, display::Screen2D desiredView, engine::SequencePlayback &playback)
std::size_t activeCount() const noexcept
std::uint32_t DataId
Definition DataBanks.hpp:10
constexpr DataId EmptyDataId
Definition DataBanks.hpp:13
std::uint16_t DataTag
Definition DataBanks.hpp:11
constexpr DataId packDataId(std::uint16_t group, DataTag tag) noexcept
Definition DataBanks.hpp:39
constexpr data::DataTag TradeImmunityButtonTag
constexpr std::uint16_t TradeDisplayBoardPriority
constexpr data::DataTag TradeDisplayBoardTag
constexpr data::DataTag TradeTurntableTag
constexpr data::DataTag TradeCreateButtonTag
constexpr std::uint16_t TradeTurntablePriority
constexpr std::uint16_t TradeArrowPriority
constexpr std::uint16_t TradeDisplayPanelPriority
constexpr std::uint16_t TradeCreateButtonPriority
constexpr std::uint8_t TradeLoopToBeginning
constexpr data::DataTag TradeDisplayRightTag
constexpr std::uint16_t TradeColourRailPriority
constexpr std::uint16_t TradeFutureButtonPriority
constexpr data::DataTag TradeBackgroundTag
constexpr data::DataTag TradeLeftColourBaseTag
constexpr data::DataTag TradeArrowTag
constexpr data::DataTag TradeFutureButtonTag
constexpr data::DataTag TradeDisplayLeftTag
constexpr data::DataTag TradeRightColourBaseTag
constexpr std::uint16_t TradeImmunityButtonPriority
constexpr std::uint16_t TradeBackdropPriority
constexpr data::DataId tradeBackdropSequence(data::DataTag tag) noexcept