CommonLibSSE (powerof3)
CraftingMenu.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/I/IMenu.h"
4 
5 namespace RE
6 {
7  namespace CraftingSubMenus
8  {
9  class CraftingSubMenu;
10  }
11 
12  // menuDepth = 0
13  // flags = kUsesMenuContext | kDisablePauseMenu | kUpdateUsesCursor | kInventoryItemMenu | kDontHideCursorWhenTopmost
14  // context = kItemMenu
15  class CraftingMenu : public IMenu
16  {
17  public:
18  inline static constexpr auto RTTI = RTTI_CraftingMenu;
19  inline static constexpr auto VTABLE = VTABLE_CraftingMenu;
20  constexpr static std::string_view MENU_NAME = "Crafting Menu";
21 
22  ~CraftingMenu() override; // 00
23 
24  // override (IMenu)
25  UI_MESSAGE_RESULTS ProcessMessage(UIMessage& a_message) override; // 04
26  void AdvanceMovie(float a_interval, std::uint32_t a_currentTime) override; // 05
27  void PostDisplay() override; // 06
28 
29  static void QuitMenu()
30  {
31  using func_t = decltype(&CraftingMenu::QuitMenu);
32  static REL::Relocation<func_t> func{ RELOCATION_ID(50447, 51352) };
33  return func();
34  }
35 
36  // members
38  };
39  static_assert(sizeof(CraftingMenu) == 0x38);
40 }
#define RELOCATION_ID(SE, AE)
Definition: PCH.h:505
Definition: Relocation.h:210
Definition: CraftingMenu.h:16
static constexpr auto RTTI
Definition: CraftingMenu.h:18
CraftingSubMenus::CraftingSubMenu * subMenu
Definition: CraftingMenu.h:37
static constexpr auto VTABLE
Definition: CraftingMenu.h:19
void PostDisplay() override
UI_MESSAGE_RESULTS ProcessMessage(UIMessage &a_message) override
~CraftingMenu() override
constexpr static std::string_view MENU_NAME
Definition: CraftingMenu.h:20
static void QuitMenu()
Definition: CraftingMenu.h:29
void AdvanceMovie(float a_interval, std::uint32_t a_currentTime) override
Definition: CraftingSubMenu.h:21
Definition: IMenu.h:55
Definition: UIMessage.h:28
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_CraftingMenu
Definition: Offsets_VTABLE.h:11400
UI_MESSAGE_RESULTS
Definition: IMenu.h:48
constexpr REL::ID RTTI_CraftingMenu(static_cast< std::uint64_t >(688808))