CommonLibSSE (powerof3)
ExtraReferenceHandle.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSExtraData.h"
4 #include "RE/B/BSPointerHandle.h"
5 #include "RE/E/ExtraDataTypes.h"
6 #include "RE/N/NiSmartPointer.h"
7 
8 namespace RE
9 {
10  class TESObjectREFR;
11 
13  {
14  public:
15  inline static constexpr auto RTTI = RTTI_ExtraReferenceHandle;
16  inline static constexpr auto VTABLE = VTABLE_ExtraReferenceHandle;
17  inline static constexpr auto EXTRADATATYPE = ExtraDataType::kReferenceHandle;
18 
20  explicit ExtraReferenceHandle(ObjectRefHandle a_containerRef);
21  virtual ~ExtraReferenceHandle() = default; // 00
22 
23  // override (BSExtraData)
24  virtual ExtraDataType GetType() const override; // 01 - { return kReferenceHandle; }
25  virtual bool IsNotEqual(const BSExtraData* a_rhs) const override; // 02 - { return containerRef != a_rhs->containerRef; }
26 
28 
29  // members
31  std::uint32_t pad14; // 14
32  };
33  static_assert(sizeof(ExtraReferenceHandle) == 0x18);
34 }
Definition: BSExtraData.h:9
Definition: ExtraReferenceHandle.h:13
static constexpr auto EXTRADATATYPE
Definition: ExtraReferenceHandle.h:17
virtual ~ExtraReferenceHandle()=default
virtual bool IsNotEqual(const BSExtraData *a_rhs) const override
ExtraReferenceHandle(ObjectRefHandle a_containerRef)
ObjectRefHandle containerRef
Definition: ExtraReferenceHandle.h:30
virtual ExtraDataType GetType() const override
static constexpr auto VTABLE
Definition: ExtraReferenceHandle.h:16
std::uint32_t pad14
Definition: ExtraReferenceHandle.h:31
NiPointer< TESObjectREFR > GetOriginalReference()
static constexpr auto RTTI
Definition: ExtraReferenceHandle.h:15
Definition: NiSmartPointer.h:9
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_ExtraReferenceHandle(static_cast< std::uint64_t >(684658))
ExtraDataType
Definition: ExtraDataTypes.h:173
constexpr std::array< REL::ID, 1 > VTABLE_ExtraReferenceHandle
Definition: Offsets_VTABLE.h:11600