Monopoly — Portage moderne 0.1.0
Portage moderne C/C++23 du Monopoly de 1999
Loading...
Searching...
No Matches
OptionsTogglePlayback.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "OptionsUI.hpp"
5
6#include <array>
7#include <cstdint>
8#include <expected>
9#include <string>
10
11namespace monopoly::optionsui
12{
13 inline constexpr data::DataTag ToggleOffUnselectedTag = 0x026B;
14 inline constexpr data::DataTag ToggleOffSelectedTag = 0x026C;
15 inline constexpr data::DataTag ToggleOnUnselectedTag = 0x0272;
16 inline constexpr data::DataTag ToggleOnSelectedTag = 0x0273;
17 inline constexpr std::uint8_t ToggleStayAtEnd = 2;
18
19 [[nodiscard]] constexpr std::uint16_t togglePriority(
20 OptionToggle toggle) noexcept
21 {
22 return static_cast<std::uint16_t>(50U +
23 static_cast<std::uint8_t>(toggle));
24 }
25
27 bool onSide, bool value) noexcept
28 {
29 if (onSide)
32 }
33
40
42 {
43 public:
44 [[nodiscard]] std::expected<void, std::string> sync(
45 const State& state,
48
49 [[nodiscard]] std::int8_t shown(OptionToggle toggle) const noexcept;
50 void reset() noexcept { shown_.fill(-1); }
51
52 private:
53 std::array<std::int8_t, SupportedOptionToggles.size()> shown_ = []
54 {
55 std::array<std::int8_t, SupportedOptionToggles.size()> values{};
56 values.fill(-1);
57 return values;
58 }();
59 };
60}
unsigned state
unsigned index
std::uint16_t value
Definition Timers.cpp:16
std::int8_t shown(OptionToggle toggle) const noexcept
std::expected< void, std::string > sync(const State &state, display::Screen2D desiredView, engine::SequencePlayback &playback)
std::uint32_t DataId
Definition DataBanks.hpp:10
std::uint16_t DataTag
Definition DataBanks.hpp:11
constexpr DataId packDataId(std::uint16_t group, DataTag tag) noexcept
Definition DataBanks.hpp:39
constexpr data::DataTag ToggleOffSelectedTag
constexpr std::uint16_t togglePriority(OptionToggle toggle) noexcept
constexpr data::DataTag ToggleOnSelectedTag
constexpr data::DataTag toggleTag(bool onSide, bool value) noexcept
constexpr data::DataId toggleSequence(bool onSide, bool value) noexcept
constexpr std::array< OptionToggle, 8 > SupportedOptionToggles
Definition OptionsUI.hpp:68
constexpr std::uint8_t ToggleStayAtEnd
constexpr data::DataTag ToggleOnUnselectedTag
constexpr data::DataTag ToggleOffUnselectedTag