OSDN Git Service

Merge branch 'develop' into macos-develop
[hengbandforosx/hengbandosx.git] / src / cmd-io / cmd-menu-content-table.h
1 #pragma once
2
3 #include "system/angband.h"
4 #include <optional>
5 #include <vector>
6
7 struct menu_content {
8     concptr name;
9     byte cmd;
10     bool fin;
11 };
12
13 enum class SpecialMenuType {
14     NONE = 0,
15     CLASS = 1,
16     WILD = 2,
17 };
18
19 enum class PlayerClassType : short;
20 class SpecialMenuContent {
21 public:
22     SpecialMenuContent(concptr name, byte window, byte number, SpecialMenuType menu_condition, std::optional<PlayerClassType> class_condition, std::optional<bool> in_wilderness);
23     concptr name;
24     byte window;
25     byte number;
26     SpecialMenuType menu_condition;
27     std::optional<PlayerClassType> class_condition;
28     std::optional<bool> wild_mode;
29 };
30
31 constexpr int MAX_COMMAND_PER_SCREEN = 10;
32 constexpr int MAX_COMMAND_MENU_NUM = 10;
33
34 extern menu_content menu_info[MAX_COMMAND_MENU_NUM][MAX_COMMAND_PER_SCREEN];
35 extern const std::vector<SpecialMenuContent> special_menu_info;