CommonLibVR
BGSEntryPointFunctionData.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/F/FormTypes.h"
4 
5 namespace RE
6 {
7  class BGSPerkEntry;
8  class TESFile;
9 
11  {
12  public:
13  inline static constexpr auto RTTI = RTTI_BGSEntryPointFunctionData;
14  inline static constexpr auto VTABLE = VTABLE_BGSEntryPointFunctionData;
15 
17  {
18  kInvalid = 0,
19  kOneValue = 1,
20  kTwoValue = 2,
21  kLeveledList = 3,
22  kActivateChoice = 4,
23  kSpellItem = 5,
25  kText = 7
26  };
27 
28  virtual ~BGSEntryPointFunctionData(); // 00
29 
30  [[nodiscard]] virtual ENTRY_POINT_FUNCTION_DATA GetType() const = 0; // 01
31  virtual bool LoadImpl(TESFile* a_mod) = 0; // 02
32  virtual void InitItem(TESForm* a_form); // 03 - { return; }
33  virtual void ApplyOnAdd(TESForm* a_form, BGSPerkEntry* a_perkEntry); // 04 - { return; }
34  virtual std::uint16_t GetID(); // 05 - { return 0xFFFF; }
35  virtual void SetParentPerk(BGSPerk* a_perk); // 06 - { return; }
36  virtual BGSPerk* GetParentPerk(); // 07 - { return 0; }
37  private:
38  KEEP_FOR_RE()
39  };
40  static_assert(sizeof(BGSEntryPointFunctionData) == 0x8);
41 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BGSEntryPointFunctionData.h:11
virtual std::uint16_t GetID()
virtual BGSPerk * GetParentPerk()
virtual void ApplyOnAdd(TESForm *a_form, BGSPerkEntry *a_perkEntry)
virtual void SetParentPerk(BGSPerk *a_perk)
ENTRY_POINT_FUNCTION_DATA
Definition: BGSEntryPointFunctionData.h:17
static constexpr auto VTABLE
Definition: BGSEntryPointFunctionData.h:14
virtual ENTRY_POINT_FUNCTION_DATA GetType() const =0
virtual bool LoadImpl(TESFile *a_mod)=0
virtual void InitItem(TESForm *a_form)
static constexpr auto RTTI
Definition: BGSEntryPointFunctionData.h:13
Definition: BGSPerkEntry.h:20
Definition: BGSPerk.h:33
Definition: TESFile.h:17
Definition: TESForm.h:40
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_BGSEntryPointFunctionData
Definition: Offsets_VTABLE.h:8608
constexpr REL::ID RTTI_BGSEntryPointFunctionData(static_cast< std::uint64_t >(685366))