CommonLibSSE NG
Loading...
Searching...
No Matches
CraftingMenu.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/I/IMenu.h"
4
5namespace 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 constexpr static std::string_view MENU_NAME = "Crafting Menu";
20
21 ~CraftingMenu() override; // 00
22
23 // override (IMenu)
24 UI_MESSAGE_RESULTS ProcessMessage(UIMessage& a_message) override; // 04
25 void AdvanceMovie(float a_interval, std::uint32_t a_currentTime) override; // 05
26 void PostDisplay() override; // 06
27
28 [[nodiscard]] inline CraftingSubMenus::CraftingSubMenu* GetCraftingSubMenu() const noexcept
29 {
30 return REL::RelocateMember<CraftingSubMenus::CraftingSubMenu*>(this, 0x30, 0x40);
31 }
32
33 inline void SetCraftingSubMenu(CraftingSubMenus::CraftingSubMenu* craftingSubMenu) noexcept
34 {
35 REL::RelocateMember<CraftingSubMenus::CraftingSubMenu*>(this, 0x30, 0x40) = craftingSubMenu;
36 }
37
38 // members
39#ifndef SKYRIM_CROSS_VR
41#endif
42 };
43#ifndef ENABLE_SKYRIM_VR
44 static_assert(sizeof(CraftingMenu) == 0x38);
45#elif !defined(ENABLE_SKYRIM_AE) && !defined(ENABLE_SKYRIM_SE)
46 static_assert(sizeof(CraftingMenu) == 0x48);
47#endif
48}
Definition CraftingMenu.h:16
static constexpr auto RTTI
Definition CraftingMenu.h:18
CraftingSubMenus::CraftingSubMenu * subMenu
Definition CraftingMenu.h:40
void SetCraftingSubMenu(CraftingSubMenus::CraftingSubMenu *craftingSubMenu) noexcept
Definition CraftingMenu.h:33
CraftingSubMenus::CraftingSubMenu * GetCraftingSubMenu() const noexcept
Definition CraftingMenu.h:28
static constexpr std::string_view MENU_NAME
Definition CraftingMenu.h:19
void PostDisplay() override
UI_MESSAGE_RESULTS ProcessMessage(UIMessage &a_message) override
~CraftingMenu() override
void AdvanceMovie(float a_interval, std::uint32_t a_currentTime) override
Definition CraftingSubMenu.h:20
Definition IMenu.h:55
Definition UIMessage.h:28
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_CraftingMenu(688808, 396660, 0x1f46110)
UI_MESSAGE_RESULTS
Definition IMenu.h:48