CommonLibVR
BGSStoryManagerTreeForm.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSTArray.h"
4 #include "RE/F/FormTypes.h"
5 #include "RE/T/TESForm.h"
6 
7 namespace RE
8 {
9  class BGSStoryManagerBranchNode;
10  class BGSStoryManagerQuestNode;
11  class BGSStoryManagerTreeForm;
12  class PeriodicUpdateTimer;
13  class TESCondition;
14 
16  {
17  public:
18  inline static constexpr auto RTTI = RTTI_BGSStoryManagerTreeVisitor;
19  inline static constexpr auto VTABLE = VTABLE_BGSStoryManagerTreeVisitor;
20 
21  enum class VisitControl
22  {
23  };
24 
25  virtual ~BGSStoryManagerTreeVisitor(); // 00
26 
27  // add
29  virtual VisitControl VisitQuestNode(BGSStoryManagerQuestNode& a_node, bool a_arg2); // 02
30  virtual VisitControl VisitQuest(TESQuest& a_quest); // 03
31  virtual void Revert(); // 04
32 
33  // members
34  PeriodicUpdateTimer* timer; // 08
35  std::int32_t currentCursorDepth; // 10
36  std::uint32_t pad14; // 14
39  std::uint32_t queryID; // 38
40  std::uint32_t pad3C; // 3C
41  private:
42  KEEP_FOR_RE()
43  };
44  static_assert(sizeof(BGSStoryManagerTreeVisitor) == 0x40);
45 
47  {
48  public:
49  inline static constexpr auto RTTI = RTTI_BGSStoryManagerTreeForm;
50  inline static constexpr auto VTABLE = VTABLE_BGSStoryManagerTreeForm;
51 
52  ~BGSStoryManagerTreeForm() override; // 00
53 
54  // add
55  [[nodiscard]] virtual std::uint32_t QChildCount() const; // 3B - { return 0; }
56  [[nodiscard]] virtual BGSStoryManagerTreeForm* GetChild(std::uint32_t a_idx) const; // 3C - { return 0; }
57  virtual TESCondition* QConditions() = 0; // 3D
59 
60  // members
61  std::uint32_t lastVisitorID; // 20
62  std::uint32_t pad24; // 24
63  private:
64  KEEP_FOR_RE()
65  };
66  static_assert(sizeof(BGSStoryManagerTreeForm) == 0x28);
67 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BGSStoryManagerBranchNode.h:10
Definition: BGSStoryManagerQuestNode.h:11
Definition: BGSStoryManagerTreeForm.h:47
virtual TESCondition * QConditions()=0
std::uint32_t lastVisitorID
Definition: BGSStoryManagerTreeForm.h:61
static constexpr auto RTTI
Definition: BGSStoryManagerTreeForm.h:49
std::uint32_t pad24
Definition: BGSStoryManagerTreeForm.h:62
virtual BGSStoryManagerTreeForm * GetChild(std::uint32_t a_idx) const
virtual std::uint32_t QChildCount() const
static constexpr auto VTABLE
Definition: BGSStoryManagerTreeForm.h:50
virtual BGSStoryManagerTreeVisitor::VisitControl AcceptVisitor(BGSStoryManagerTreeVisitor &a_visitor)=0
Definition: BGSStoryManagerTreeForm.h:16
VisitControl
Definition: BGSStoryManagerTreeForm.h:22
virtual VisitControl VisitQuest(TESQuest &a_quest)
BSTArray< BGSStoryManagerTreeForm * > cursorAncestry
Definition: BGSStoryManagerTreeForm.h:38
static constexpr auto RTTI
Definition: BGSStoryManagerTreeForm.h:18
PeriodicUpdateTimer * timer
Definition: BGSStoryManagerTreeForm.h:34
std::int32_t currentCursorDepth
Definition: BGSStoryManagerTreeForm.h:35
std::uint32_t pad14
Definition: BGSStoryManagerTreeForm.h:36
std::uint32_t pad3C
Definition: BGSStoryManagerTreeForm.h:40
std::uint32_t queryID
Definition: BGSStoryManagerTreeForm.h:39
virtual VisitControl VisitBranchNode(BGSStoryManagerBranchNode &a_node)
BGSStoryManagerQuestNode * lastQuestParent
Definition: BGSStoryManagerTreeForm.h:37
virtual VisitControl VisitQuestNode(BGSStoryManagerQuestNode &a_node, bool a_arg2)
static constexpr auto VTABLE
Definition: BGSStoryManagerTreeForm.h:19
Definition: BSTArray.h:378
Definition: TESCondition.h:992
Definition: TESForm.h:40
Definition: TESQuest.h:197
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BGSStoryManagerTreeVisitor(static_cast< std::uint64_t >(686325))
constexpr std::array< REL::ID, 1 > VTABLE_BGSStoryManagerTreeVisitor
Definition: Offsets_VTABLE.h:8877
constexpr REL::ID RTTI_BGSStoryManagerTreeForm(static_cast< std::uint64_t >(684849))
constexpr std::array< REL::ID, 1 > VTABLE_BGSStoryManagerTreeForm
Definition: Offsets_VTABLE.h:8876