CommonLibVR
TrainingMenu.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/A/ActorValues.h"
4 #include "RE/B/BSTEvent.h"
5 #include "RE/G/GFxValue.h"
6 #include "RE/I/IMenu.h"
7 
8 namespace RE
9 {
10  class MenuOpenCloseEvent;
11 
12  // menuDepth = 3
13  // flags = kPausesGame | kUsesMenuContext | kUpdateUsesCursor
14  // kUsesCursor if gamepad disabled
15  // context = kNone
16  class TrainingMenu :
17  public IMenu, // 00
18  public BSTEventSink<MenuOpenCloseEvent> // 30
19  {
20  public:
21  inline static constexpr auto RTTI = RTTI_TrainingMenu;
22  constexpr static std::string_view MENU_NAME = "Training Menu";
23 
24  ~TrainingMenu() override; // 00
25 
26  // override (IMenu)
27  void Accept(CallbackProcessor* a_cbReg) override; // 01
28  UI_MESSAGE_RESULTS ProcessMessage(UIMessage& a_message) override; // 04
29 
30  // override (BSTEventSink<MenuOpenCloseEvent>)
32 
33  // members
34  Actor* trainer; // 38 - smart ptr
36  std::uint32_t unk44; // 44
37  GFxValue trainingMenuObj; // 48 - MovieClip
38  GFxValue skillName; // 60 - TextField
39  GFxValue skillMeter; // 78 - Components.Meter
40  GFxValue trainerSkill; // 90 - TextField
41  GFxValue timesTrained; // A8 - TextField
42  GFxValue trainCost; // C0 - TextField
43  GFxValue currentGold; // D8 - TextField
44  private:
45  KEEP_FOR_RE()
46  };
47 #ifndef SKYRIMVR
48  static_assert(sizeof(TrainingMenu) == 0xF0);
49 #else
50  static_assert(sizeof(TrainingMenu) == 0x100);
51 #endif
52 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: Actor.h:133
Definition: BSTEvent.h:143
Definition: FxDelegateHandler.h:20
Definition: GFxValue.h:92
Definition: IMenu.h:64
Definition: MenuOpenCloseEvent.h:8
Definition: TrainingMenu.h:19
static constexpr auto RTTI
Definition: TrainingMenu.h:21
~TrainingMenu() override
std::uint32_t unk44
Definition: TrainingMenu.h:36
void Accept(CallbackProcessor *a_cbReg) override
constexpr static std::string_view MENU_NAME
Definition: TrainingMenu.h:22
ActorValue skill
Definition: TrainingMenu.h:35
GFxValue timesTrained
Definition: TrainingMenu.h:41
Actor * trainer
Definition: TrainingMenu.h:34
GFxValue trainCost
Definition: TrainingMenu.h:42
BSEventNotifyControl ProcessEvent(const MenuOpenCloseEvent *a_event, BSTEventSource< MenuOpenCloseEvent > *a_eventSource) override
UI_MESSAGE_RESULTS ProcessMessage(UIMessage &a_message) override
GFxValue skillMeter
Definition: TrainingMenu.h:39
GFxValue skillName
Definition: TrainingMenu.h:38
GFxValue trainerSkill
Definition: TrainingMenu.h:40
GFxValue trainingMenuObj
Definition: TrainingMenu.h:37
GFxValue currentGold
Definition: TrainingMenu.h:43
Definition: UIMessage.h:28
Definition: AbsorbEffect.h:6
ActorValue
Definition: ActorValues.h:6
UI_MESSAGE_RESULTS
Definition: IMenu.h:49
constexpr REL::ID RTTI_TrainingMenu(static_cast< std::uint64_t >(688920))
BSEventNotifyControl
Definition: BSTEvent.h:12