CommonLibVR
ExtraOwnership.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSExtraData.h"
4 #include "RE/E/ExtraDataTypes.h"
5 
6 namespace RE
7 {
8  class TESForm;
9 
10  class ExtraOwnership : public BSExtraData
11  {
12  public:
13  inline static constexpr auto RTTI = RTTI_ExtraOwnership;
14  inline static constexpr auto VTABLE = VTABLE_ExtraOwnership;
15  inline static constexpr auto EXTRADATATYPE = ExtraDataType::kOwnership;
16 
18  explicit ExtraOwnership(TESForm* a_owner);
19  virtual ~ExtraOwnership() = default; // 00
20 
21  // override (BSExtraData)
22  virtual ExtraDataType GetType() const override; // 01 - { return kOwnership; }
23  virtual bool IsNotEqual(const BSExtraData* a_rhs) const override; // 02 - { return owner != a_rhs->owner; }
24 
25  // members
26  TESForm* owner; // 10
27  private:
28  KEEP_FOR_RE()
29  };
30  static_assert(sizeof(ExtraOwnership) == 0x18);
31 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BSExtraData.h:9
Definition: ExtraOwnership.h:11
ExtraOwnership(TESForm *a_owner)
static constexpr auto VTABLE
Definition: ExtraOwnership.h:14
virtual bool IsNotEqual(const BSExtraData *a_rhs) const override
static constexpr auto RTTI
Definition: ExtraOwnership.h:13
virtual ~ExtraOwnership()=default
virtual ExtraDataType GetType() const override
TESForm * owner
Definition: ExtraOwnership.h:26
static constexpr auto EXTRADATATYPE
Definition: ExtraOwnership.h:15
Definition: TESForm.h:40
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_ExtraOwnership
Definition: Offsets_VTABLE.h:11581
constexpr REL::ID RTTI_ExtraOwnership(static_cast< std::uint64_t >(684646))
ExtraDataType
Definition: ExtraDataTypes.h:173