CommonLibVR
CraftingSubMenu.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/A/ActorValues.h"
4 #include "RE/B/BSFixedString.h"
5 #include "RE/B/BSTEvent.h"
7 #include "RE/G/GFxValue.h"
8 
9 namespace RE
10 {
11  class GFxMovieView;
12  class TESFurniture;
13  struct ItemCard;
14  struct TESFurnitureEvent;
15 
16  namespace CraftingSubMenus
17  {
19  public FxDelegateHandler, // 00
20  public BSTEventSink<TESFurnitureEvent> // 10
21  {
22  public:
23  inline static constexpr auto RTTI = RTTI_CraftingSubMenus__CraftingSubMenu;
24  inline static constexpr auto VTABLE = VTABLE_CraftingSubMenus__CraftingSubMenu;
25 
26  ~CraftingSubMenu() override; // 00
27 
28  // add
29  virtual void Unk_02(void); // 02 - { return; }
30  virtual void Unk_03(void); // 03 - { return; }
31  virtual bool HasItemPreview(); // 04 - { return 1; }
32  virtual bool ProcessUserEvent(BSFixedString* a_control); // 05 - { return 0; }
33  virtual void UpdateItemList(); // 06 - { return; }
34  virtual void SetItemCardInfo(ItemCard* a_itemCard); // 07 - { return; }
35 
36  void UpdateCraftingInfo(ActorValue a_actorValue)
37  {
38  using func_t = decltype(&CraftingSubMenu::UpdateCraftingInfo);
39  static REL::Relocation<func_t> func{ RELOCATION_ID(50461, 51364) };
40  return func(this, a_actorValue);
41  }
42 
43  // members
44  GFxMovieView* view; // 018
46  ItemCard* itemCard; // 028
47  GFxValue* unk030; // 030
56  bool unk0F8; // 0F8
57  std::uint8_t pad0F9; // 0F9
58  std::uint16_t pad0FA; // 0FA
59  std::uint32_t pad0FC; // 0FC
60  };
61  static_assert(sizeof(CraftingSubMenu) == 0x100);
62  }
63 }
#define RELOCATION_ID(SE, AE)
Definition: PCH.h:702
Definition: Relocation.h:210
Definition: BSTEvent.h:143
Definition: CraftingSubMenu.h:21
static constexpr auto RTTI
Definition: CraftingSubMenu.h:23
ItemCard * itemCard
Definition: CraftingSubMenu.h:46
GFxValue additionalDescription
Definition: CraftingSubMenu.h:53
void UpdateCraftingInfo(ActorValue a_actorValue)
Definition: CraftingSubMenu.h:36
std::uint16_t pad0FA
Definition: CraftingSubMenu.h:58
GFxValue itemList
Definition: CraftingSubMenu.h:49
GFxMovieView * view
Definition: CraftingSubMenu.h:44
GFxValue entryList
Definition: CraftingSubMenu.h:50
virtual bool ProcessUserEvent(BSFixedString *a_control)
std::uint32_t pad0FC
Definition: CraftingSubMenu.h:59
GFxValue * unk030
Definition: CraftingSubMenu.h:47
GFxValue itemInfo
Definition: CraftingSubMenu.h:51
TESFurniture * furniture
Definition: CraftingSubMenu.h:45
bool unk0F8
Definition: CraftingSubMenu.h:56
GFxValue menuName
Definition: CraftingSubMenu.h:54
GFxValue craftingMenu
Definition: CraftingSubMenu.h:48
GFxValue bottomBarInfo
Definition: CraftingSubMenu.h:52
GFxValue buttonText
Definition: CraftingSubMenu.h:55
virtual void SetItemCardInfo(ItemCard *a_itemCard)
std::uint8_t pad0F9
Definition: CraftingSubMenu.h:57
static constexpr auto VTABLE
Definition: CraftingSubMenu.h:24
Definition: FxDelegateHandler.h:12
Definition: GFxMovieView.h:24
Definition: GFxValue.h:92
Definition: TESFurniture.h:11
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_CraftingSubMenus__CraftingSubMenu(static_cast< std::uint64_t >(688807))
ActorValue
Definition: ActorValues.h:6
constexpr std::array< REL::ID, 2 > VTABLE_CraftingSubMenus__CraftingSubMenu
Definition: Offsets_VTABLE.h:11407
Definition: ItemCard.h:12