Monopoly — Portage moderne 0.1.0
Portage moderne C/C++23 du Monopoly de 1999
Loading...
Searching...
No Matches
TradeTokenPlayback.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 <cstdint>
11#include <expected>
12#include <string>
13
14namespace monopoly::tradeui
15{
16 inline constexpr data::DataTag TradeTokenBaseTag = 0x01C0;
17 inline constexpr std::uint16_t TradeTokenAPriority = 274;
18 inline constexpr std::uint16_t TradeTokenBPriority = 275;
19 inline constexpr std::int32_t TradeTokenAX = 10;
20 inline constexpr std::int32_t TradeTokenRightEdge = 790;
21 inline constexpr std::int32_t TradeTokenY = 235;
22
24 std::uint8_t token) noexcept
25 {
27 static_cast<data::DataTag>(TradeTokenBaseTag + token));
28 }
29
31 {
32 public:
33 [[nodiscard]] std::expected<void, std::string> sync(
34 const State& state,
38
40 {
41 current_.fill(data::EmptyDataId);
42 }
43
44 private:
45 std::array<data::DataId, 2> current_{};
46 };
47}
unsigned state
unsigned index
int token
std::expected< void, std::string > sync(const State &state, const rules::GameState &gameState, display::Screen2D desiredView, engine::SequencePlayback &playback)
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 std::int32_t TradeTokenAX
constexpr data::DataTag TradeTokenBaseTag
constexpr data::DataId tradeTokenSequence(std::uint8_t token) noexcept
constexpr std::int32_t TradeTokenY
constexpr std::uint16_t TradeTokenBPriority
constexpr std::int32_t TradeTokenRightEdge
constexpr std::uint16_t TradeTokenAPriority