CommonLibVR
ExtraUniqueID.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 ExtraUniqueID : public BSExtraData
9  {
10  public:
11  inline static constexpr auto RTTI = RTTI_ExtraUniqueID;
12  inline static constexpr auto VTABLE = VTABLE_ExtraUniqueID;
13  inline static constexpr auto EXTRADATATYPE = ExtraDataType::kUniqueID;
14 
16  ExtraUniqueID(FormID a_baseID, std::uint16_t a_uniqueID);
17  ~ExtraUniqueID() override = default; // 00
18 
19  // override (BSExtraData)
20  ExtraDataType GetType() const override; // 01 - { return kUniqueID; }
21  bool IsNotEqual(const BSExtraData* a_rhs) const override; // 02 - { return uniqueID != a_rhs->uniqueID || baseID != a_rhs->baseID; }
22 
23  // members
24  FormID baseID; // 10
25  std::uint16_t uniqueID; // 14
26  std::uint16_t pad16; // 16
27  private:
28  KEEP_FOR_RE()
29  };
30  static_assert(sizeof(ExtraUniqueID) == 0x18);
31 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BSExtraData.h:9
Definition: ExtraUniqueID.h:9
static constexpr auto VTABLE
Definition: ExtraUniqueID.h:12
FormID baseID
Definition: ExtraUniqueID.h:24
std::uint16_t pad16
Definition: ExtraUniqueID.h:26
ExtraDataType GetType() const override
static constexpr auto RTTI
Definition: ExtraUniqueID.h:11
static constexpr auto EXTRADATATYPE
Definition: ExtraUniqueID.h:13
~ExtraUniqueID() override=default
std::uint16_t uniqueID
Definition: ExtraUniqueID.h:25
ExtraUniqueID(FormID a_baseID, std::uint16_t a_uniqueID)
bool IsNotEqual(const BSExtraData *a_rhs) const override
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_ExtraUniqueID(static_cast< std::uint64_t >(684697))
std::uint32_t FormID
Definition: BSCoreTypes.h:5
constexpr std::array< REL::ID, 1 > VTABLE_ExtraUniqueID
Definition: Offsets_VTABLE.h:11631
ExtraDataType
Definition: ExtraDataTypes.h:173