Monopoly — Portage moderne 0.1.0
Portage moderne C/C++23 du Monopoly de 1999
Loading...
Searching...
No Matches
TradeContractDialogPlayback.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "DataBanks.hpp"
4#include "Display.hpp"
6#include "TradeUI.hpp"
7
8#include <array>
9#include <cstdint>
10#include <expected>
11#include <string>
12
13namespace monopoly::tradeui
14{
15 inline constexpr data::DataTag TradeContractArrowDownTag = 0x0007;
16 inline constexpr data::DataTag TradeContractArrowUpTag = 0x0009;
17 inline constexpr std::uint16_t TradeContractArrowPriority = 525;
18
19 inline constexpr std::array<std::int32_t, 2> TradeContractArrowX{{22, 22}};
20 inline constexpr std::array<std::int32_t, 2> TradeContractArrowY{{-168, -247}};
21
23 std::size_t index) noexcept
24 {
25 const auto tag = index == 0 ? TradeContractArrowUpTag :
27 return tag != 0
29 static_cast<data::DataTag>(tag))
31 }
32
34 {
35 public:
36 [[nodiscard]] std::expected<void, std::string> sync(
37 const State& state,
40
41 void reset() noexcept { visible_ = false; }
42 [[nodiscard]] bool visible() const noexcept { return visible_; }
43
44 private:
45 bool visible_{};
46 };
47}
unsigned state
unsigned index
std::expected< void, std::string > sync(const State &state, 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::uint16_t TradeContractArrowPriority
constexpr std::array< std::int32_t, 2 > TradeContractArrowX
constexpr std::array< std::int32_t, 2 > TradeContractArrowY
constexpr data::DataTag TradeContractArrowUpTag
constexpr data::DataId tradeContractArrowSequence(std::size_t index) noexcept
constexpr data::DataTag TradeContractArrowDownTag