Monopoly — Portage moderne 0.1.0
Portage moderne C/C++23 du Monopoly de 1999
Loading...
Searching...
No Matches
StatsCalculatorPlayback.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "Display.hpp"
6
7#include <array>
8#include <cstdint>
9#include <expected>
10#include <optional>
11#include <string>
12
13namespace monopoly::statsui
14{
15 inline constexpr std::uint16_t CalculatorBackgroundPriority = 50;
16 inline constexpr std::uint16_t CalculatorButtonPriority = 100;
17 inline constexpr data::DataTag CalculatorBackgroundTag = 0x006A;
20 inline constexpr data::DataTag CalculatorNumberIdleBaseTag = 0x007D;
22 inline constexpr data::DataTag CalculatorTextBoxTag = 0x0091;
23 inline constexpr data::DataTag CalculatorEnterIdleTag = 0x01FE;
25 inline constexpr data::DataTag CalculatorTokenBaseTag = 0x01C0;
26 inline constexpr float CalculatorTokenScale = 0.8F;
27
29 {
30 public:
31 [[nodiscard]] std::expected<void, std::string> sync(
35 void reset() noexcept;
36 [[nodiscard]] bool visible() const noexcept { return visible_; }
37
38 private:
39 struct Published
40 {
42 std::uint16_t priority{};
43 friend bool operator==(const Published&, const Published&) = default;
44 };
45
46 static constexpr std::size_t SlotCount = 21 + rules::MaxPlayers;
47 std::array<std::optional<Published>, SlotCount> published_{};
48 bool visible_{};
49 };
50}
std::uint16_t priority
unsigned index
std::expected< void, std::string > sync(display::Screen2D desiredView, const CalculatorUIState &ui, const rules::GameState &gameState, 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 PlayerNumber MaxPlayers
Definition RuleTypes.hpp:14
constexpr std::uint16_t CalculatorBackgroundPriority
constexpr data::DataTag CalculatorNumberPressBaseTag
constexpr std::uint16_t CalculatorButtonPriority
constexpr data::DataTag CalculatorTokenBaseTag
constexpr data::DataTag CalculatorFunctionPressBaseTag
constexpr data::DataTag CalculatorEnterIdleAlternateTag
constexpr data::DataTag CalculatorFunctionIdleBaseTag
constexpr data::DataTag CalculatorBackgroundTag
constexpr data::DataTag CalculatorEnterIdleTag
constexpr float CalculatorTokenScale
constexpr data::DataTag CalculatorNumberIdleBaseTag
constexpr data::DataTag CalculatorTextBoxTag