Monopoly — Portage moderne 0.1.0
Portage moderne C/C++23 du Monopoly de 1999
Loading...
Searching...
No Matches
TradeCashDialogPlayback.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 <cstddef>
10#include <cstdint>
11#include <expected>
12#include <string>
13
14namespace monopoly::tradeui
15{
16 inline constexpr data::DataTag TradeCashDialogTag = 0x118A;
17 inline constexpr std::array<data::DataTag, 3> TradeCashIdleTags{{
18 0x02D9, 0x02DB, 0x02DD}};
19 inline constexpr std::array<data::DataTag, 3> TradeCashPressedTags{{
20 0x02DA, 0x02DC, 0x02DE}};
21
22 inline constexpr std::uint16_t TradeCashDialogPriority = 1975;
23 inline constexpr std::uint16_t TradeCashButtonPriority = 1976;
24 inline constexpr std::uint16_t TradeCashPressedPriority = 1977;
25
26 inline constexpr std::array<std::int32_t, 2> TradeCashDialogX{{4, 604}};
27 inline constexpr std::array<std::int32_t, 2> TradeCashDialogY{{324, 324}};
28 inline constexpr std::array<std::int32_t, 2> TradeCashButtonX{{-306, 294}};
29 inline constexpr std::array<std::int32_t, 2> TradeCashButtonY{{-29, -29}};
30
36
46
58
60 {
61 public:
62 [[nodiscard]] std::expected<void, std::string> sync(
63 State& state,
65 std::uint64_t nowTick,
67
69 {
70 visible_ = false;
71 side_ = 0;
72 feedback_ = data::EmptyDataId;
73 feedbackStartTick_ = 0;
74 }
75
76 [[nodiscard]] bool visible() const noexcept { return visible_; }
77 [[nodiscard]] std::uint8_t side() const noexcept { return side_; }
78
79 private:
80 bool visible_{};
81 std::uint8_t side_{};
83 std::uint64_t feedbackStartTick_{};
84 };
85}
unsigned state
unsigned index
std::expected< void, std::string > sync(State &state, display::Screen2D desiredView, std::uint64_t nowTick, 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::array< std::int32_t, 2 > TradeCashButtonX
constexpr std::array< std::int32_t, 2 > TradeCashDialogX
constexpr std::array< std::int32_t, 2 > TradeCashDialogY
constexpr data::DataId tradeCashPressedSequence(CashDialogFeedback feedback) noexcept
constexpr std::uint16_t TradeCashDialogPriority
constexpr std::array< std::int32_t, 2 > TradeCashButtonY
constexpr data::DataId tradeCashIdleSequence(std::size_t index) noexcept
constexpr data::DataTag TradeCashDialogTag
constexpr std::uint16_t TradeCashButtonPriority
constexpr std::uint16_t TradeCashPressedPriority
constexpr std::array< data::DataTag, 3 > TradeCashIdleTags
constexpr std::array< data::DataTag, 3 > TradeCashPressedTags
constexpr data::DataId tradeCashDialogSequence() noexcept