CommonLibVR
Loading...
Searching...
No Matches
DialogueMenu.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BSTArray.h"
4#include "RE/B/BSTEvent.h"
5#include "RE/I/IMenu.h"
7
8namespace RE
9{
10 class MenuOpenCloseEvent;
11
12 // menuDepth = 3
13 // flags = kUpdateUsesCursor | kDontHideCursorWhenTopmost
14 // context = kMenuMode
16#ifndef SKYRIMVR
17 public IMenu, // 00
18#else
19 public WorldSpaceMenu,
20#endif
21 public BSTEventSink<MenuOpenCloseEvent> // 30
22 {
23 public:
24 inline static constexpr auto RTTI = RTTI_DialogueMenu;
25 inline static constexpr auto VTABLE = VTABLE_DialogueMenu;
26 constexpr static std::string_view MENU_NAME = "Dialogue Menu";
27
28 struct Data
29 {
30 void* unk00; // 00
31 std::uint64_t unk08; // 08
32 };
33 static_assert(sizeof(Data) == 0x10);
34
35 ~DialogueMenu() override; // 00
36
37 // override (IMenu)
38 void Accept(CallbackProcessor* a_processor) override; // 01
39 UI_MESSAGE_RESULTS ProcessMessage(UIMessage& a_message) override; // 04
40
41#ifdef SKYRIMVR
42 virtual void SetupMenuNode() override;
43 virtual RE::NiNode* GetMenuParentNode() override; // 0C
44 virtual void SetTransform() override; // 0D
45#endif
46 // override (BSTEventSink<MenuOpenCloseEvent>)
48
49#ifdef SKYRIMVR
50 // override (BSTEventSink<HudModeChangeEvent>)
51 BSEventNotifyControl ProcessEvent(const HudModeChangeEvent* a_event, BSTEventSource<HudModeChangeEvent>* a_eventSource) override; // 01
52#endif
53 // members
55#ifdef SKYRIMVR
56 RE::NiNode* occlusionCheckNode; // 78 - name is "Dialogue Menu Occlusion Check Node"
57#endif
58 private:
60 };
61#ifndef SKYRIMVR
62 static_assert(sizeof(DialogueMenu) == 0x50);
63#else
64 static_assert(sizeof(DialogueMenu) == 0x80);
65#endif
66}
#define KEEP_FOR_RE()
Definition PCH.h:517
Definition BSTArray.h:378
Definition BSTEvent.h:143
Definition BSTEvent.h:19
Definition DialogueMenu.h:22
BSTArray< Data > unk38
Definition DialogueMenu.h:54
~DialogueMenu() override
UI_MESSAGE_RESULTS ProcessMessage(UIMessage &a_message) override
static constexpr auto VTABLE
Definition DialogueMenu.h:25
static constexpr auto RTTI
Definition DialogueMenu.h:24
BSEventNotifyControl ProcessEvent(const MenuOpenCloseEvent *a_event, BSTEventSource< MenuOpenCloseEvent > *a_eventSource) override
void Accept(CallbackProcessor *a_processor) override
static constexpr std::string_view MENU_NAME
Definition DialogueMenu.h:26
Definition FxDelegateHandler.h:20
Definition IMenu.h:64
Definition MenuOpenCloseEvent.h:8
Definition NiNode.h:12
Definition UIMessage.h:28
Definition AbsorbEffect.h:6
constexpr REL::ID RTTI_DialogueMenu(static_cast< std::uint64_t >(688829))
UI_MESSAGE_RESULTS
Definition IMenu.h:49
constexpr std::array< REL::ID, 2 > VTABLE_DialogueMenu
Definition Offsets_VTABLE.h:11449
BSEventNotifyControl
Definition BSTEvent.h:12
Definition DialogueMenu.h:29
std::uint64_t unk08
Definition DialogueMenu.h:31
void * unk00
Definition DialogueMenu.h:30