CommonLibSSE (powerof3)
Loading...
Searching...
No Matches
HUDMenu.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/G/GFxValue.h"
6#include "RE/I/IMenu.h"
7
8namespace RE
9{
10 class ActorValueMeter;
11 class HUDObject;
12 class ShoutMeter;
13 class UserEventEnabledEvent;
14 struct BSRemoteGamepadEvent;
15
16 // menuDepth = 2
17 // flags = kAlwaysOpen | kRequiresUpdate | kAllowSaving | kCustomRendering | kAssignCursorToRenderer
18 // context = kNone
19 class HUDMenu :
20 public IMenu, // 00
21 public BSTEventSink<UserEventEnabledEvent>, // 30
22 public BSTEventSink<BSRemoteGamepadEvent> // 38
23 {
24 public:
25 inline static constexpr auto RTTI = RTTI_HUDMenu;
26 constexpr static std::string_view MENU_NAME = "HUD Menu";
27
28 ~HUDMenu() override; // 00
29
30 // override (IMenu)
31 void Accept(CallbackProcessor* a_processor) override; // 01
32 UI_MESSAGE_RESULTS ProcessMessage(UIMessage& a_message) override; // 04
33 void AdvanceMovie(float a_interval, std::uint32_t a_currentTime) override; // 05
34 void RefreshPlatform() override; // 08
35
36 // override (BSTEventSink<UserEventEnabledEvent>)
37 BSEventNotifyControl ProcessEvent(const UserEventEnabledEvent* a_event, BSTEventSource<UserEventEnabledEvent>* a_eventSource) override; // 01
38
39 // override (BSTEventSink<BSRemoteGamepadEvent>)
40 BSEventNotifyControl ProcessEvent(const BSRemoteGamepadEvent* a_event, BSTEventSource<BSRemoteGamepadEvent>* a_eventSource) override; // 01
41
42 // members
48 GFxValue root; // 78 - kDisplayObject - "_level0.HUDMovieBaseInstance"
49 std::uint64_t unk90; // 90
50 };
51 static_assert(sizeof(HUDMenu) == 0x98);
52}
Definition: ActorValueMeter.h:9
Definition: BSTArray.h:377
Definition: BSTEvent.h:143
Definition: BSTEvent.h:19
Definition: FxDelegateHandler.h:19
Definition: GFxValue.h:90
Definition: HUDMenu.h:23
~HUDMenu() override
ActorValueMeter * magicka
Definition: HUDMenu.h:46
BSTArray< HUDObject * > objects
Definition: HUDMenu.h:43
BSEventNotifyControl ProcessEvent(const UserEventEnabledEvent *a_event, BSTEventSource< UserEventEnabledEvent > *a_eventSource) override
UI_MESSAGE_RESULTS ProcessMessage(UIMessage &a_message) override
ShoutMeter * shout
Definition: HUDMenu.h:47
GFxValue root
Definition: HUDMenu.h:48
void RefreshPlatform() override
void Accept(CallbackProcessor *a_processor) override
std::uint64_t unk90
Definition: HUDMenu.h:49
void AdvanceMovie(float a_interval, std::uint32_t a_currentTime) override
static constexpr std::string_view MENU_NAME
Definition: HUDMenu.h:26
ActorValueMeter * stamina
Definition: HUDMenu.h:45
ActorValueMeter * health
Definition: HUDMenu.h:44
static constexpr auto RTTI
Definition: HUDMenu.h:25
BSEventNotifyControl ProcessEvent(const BSRemoteGamepadEvent *a_event, BSTEventSource< BSRemoteGamepadEvent > *a_eventSource) override
Definition: IMenu.h:55
Definition: ShoutMeter.h:8
Definition: UIMessage.h:28
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_HUDMenu(static_cast< std::uint64_t >(688836))
UI_MESSAGE_RESULTS
Definition: IMenu.h:48
BSEventNotifyControl
Definition: BSTEvent.h:12