Monopoly — Portage moderne 0.1.0
Portage moderne C/C++23 du Monopoly de 1999
Loading...
Searching...
No Matches
StatsPlayerAuxPlayback.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 PlayerAuxPriority = 510;
16 inline constexpr data::DataTag PlayerJailUsBaseTag = 0x0992;
17 inline constexpr data::DataTag PlayerJailEuropeBaseTag = 0x0C60;
18 inline constexpr data::DataTag PlayerFutureUsTag = 0x1027;
19 inline constexpr data::DataTag PlayerFutureEuropeTag = 0x12FB;
20 inline constexpr data::DataTag PlayerImmunityUsTag = 0x1053;
21 inline constexpr data::DataTag PlayerImmunityEuropeTag = 0x1327;
22
24 {
25 public:
26 struct Published
27 {
29 std::uint16_t priority{};
30 int x{};
31 int y{};
32 std::optional<FutureImmunityIcon> icon;
33 friend bool operator==(const Published&, const Published&) = default;
34 };
35 // Call before Player rendering so deed and aux fallbacks agree this frame.
37 [[nodiscard]] std::expected<void, std::string> sync(
42
43 void reset() noexcept { current_.clear(); }
45 {
46 return current_.size();
47 }
48 [[nodiscard]] std::vector<FutureImmunityIcon> iconHits() const;
49
50 private:
51 std::vector<Published> current_;
52 };
53}
unsigned state
unsigned index
std::expected< void, std::string > sync(const State &state, const rules::GameState &gameState, const PlayerPlaybackInputs &inputs, display::Screen2D desiredView, engine::SequencePlayback &playback)
void prepareLayout(State &state, const engine::SequencePlayback &playback) const
std::vector< FutureImmunityIcon > iconHits() const
std::uint32_t DataId
Definition DataBanks.hpp:10
constexpr DataId EmptyDataId
Definition DataBanks.hpp:13
std::uint16_t DataTag
Definition DataBanks.hpp:11
constexpr std::uint16_t PlayerAuxPriority
constexpr data::DataTag PlayerFutureUsTag
constexpr data::DataTag PlayerFutureEuropeTag
constexpr data::DataTag PlayerJailEuropeBaseTag
constexpr data::DataTag PlayerImmunityUsTag
constexpr data::DataTag PlayerImmunityEuropeTag
constexpr data::DataTag PlayerJailUsBaseTag
friend bool operator==(const Published &, const Published &)=default