Monopoly — Portage moderne 0.1.0
Portage moderne C/C++23 du Monopoly de 1999
Loading...
Searching...
No Matches
StatsCalculatorDeedPickerPlayback.hpp
Go to the documentation of this file.
1#pragma once
2
5
6#include <cstddef>
7#include <cstdint>
8#include <expected>
9#include <optional>
10#include <string>
11#include <vector>
12
13namespace monopoly::statsui
14{
15 inline constexpr std::uint16_t CalculatorDeedPickerPriority = 610;
16 inline constexpr int CalculatorDeedPickerBackgroundX = 200;
17 inline constexpr int CalculatorDeedPickerBackgroundY = 230;
18 inline constexpr int CalculatorDeedPickerBackgroundWidth = 400;
19 inline constexpr int CalculatorDeedPickerBackgroundHeight = 200;
20 inline constexpr int CalculatorDeedPickerX = 210;
21 inline constexpr int CalculatorDeedPickerY = 240;
22 inline constexpr int CalculatorDeedPickerColumnStep = 57;
23 inline constexpr int CalculatorDeedPickerRowStep = 45;
24 inline constexpr int CalculatorDeedPickerColumns = 7;
25
27 {
28 public:
29 struct Published
30 {
32 std::uint16_t priority{};
33 int x{};
34 int y{};
35 friend bool operator==(const Published&, const Published&) = default;
36 };
37
38 [[nodiscard]] std::expected<void, std::string> sync(
39 const CalculatorUIState& ui, int city,
42
44 {
45 current_.clear();
46 background_.reset();
47 backgroundVisible_ = false;
48 }
50 {
51 return current_.size() + (backgroundVisible_ ? 1U : 0U);
52 }
53
54 private:
55 std::vector<Published> current_;
56 std::optional<data::DataId> background_;
57 bool backgroundVisible_{};
58 };
59}
unsigned index
std::expected< void, std::string > sync(const CalculatorUIState &ui, int city, display::Screen2D desiredView, engine::SequencePlayback &playback)
std::uint32_t DataId
Definition DataBanks.hpp:10
constexpr DataId EmptyDataId
Definition DataBanks.hpp:13
constexpr std::uint16_t CalculatorDeedPickerPriority
friend bool operator==(const Published &, const Published &)=default