Files
Commonwealth-Online-Public/plugin/lib/commonlibf4/include/RE/H/HUDMenu.h
T
2026-05-30 18:33:24 +12:00

44 lines
1.1 KiB
C++

#pragma once
#include "RE/B/BSTEvent.h"
#include "RE/G/GameMenuBase.h"
namespace RE
{
class HUDComponentBase;
class RequestHUDModesEvent;
class UserEventEnabledEvent;
class __declspec(novtable) HUDMenu :
public GameMenuBase, // 000
public BSTEventSink<UserEventEnabledEvent>, // 0E0
public BSTEventSink<RequestHUDModesEvent> // 0E8
{
public:
static constexpr auto RTTI{ RTTI::HUDMenu };
static constexpr auto VTABLE{ VTABLE::HUDMenu };
static constexpr auto MENU_NAME{ "HUDMenu"sv };
enum class ShowMenuState
{
kConstructed = 0x0,
kShown = 0x1,
kHidden = 0x2,
kReshowOnDestructor = 0x3
};
void SetHUDColor()
{
using func_t = decltype(&HUDMenu::SetHUDColor);
REL::Relocation<func_t> func{ ID::HUDMenu::SetHUDColor };
return func(this);
}
// members
BSTSmallArray<std::unique_ptr<HUDComponentBase>, 32> hudObjects; // 0F0
BSTArray<HUDModeType> hudModes; // 200
REX::TEnumSet<ShowMenuState, std::uint32_t> hudShowMenuState; // 218
};
static_assert(sizeof(HUDMenu) == 0x220);
}