CommonLibVR
NiProperty.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/N/NiObjectNET.h"
4 
5 namespace RE
6 {
7  class NiProperty : public NiObjectNET
8  {
9  public:
10  inline static constexpr auto RTTI = RTTI_NiProperty;
11  inline static constexpr auto Ni_RTTI = NiRTTI_NiProperty;
12  inline static constexpr auto VTABLE = VTABLE_NiProperty;
13 
14  enum class Type
15  {
16  kAlpha = 0,
17  kShade = 1
18  };
19 
20  ~NiProperty() override; // 00
21 
22  // override (NiObjectNET)
23  const NiRTTI* GetRTTI() const override; // 02
24  void LoadBinary(NiStream& a_stream) override; // 18 - { NiObjectNET::LoadBinary(a_stream); }
25  void LinkObject(NiStream& a_stream) override; // 19 - { NiObjectNET::LinkObject(a_stream); }
26  bool RegisterStreamables(NiStream& a_stream) override; // 1A - { return NiObjectNET::RegisterStreamables(a_stream); }
27  void SaveBinary(NiStream& a_stream) override; // 1B - { NiObjectNET::SaveBinary(a_stream); }
28  bool IsEqual(NiObject* a_object) override; // 1C - { return NiObjectNET::IsEqual(a_object); }
29  void ProcessClone(NiCloningProcess& a_cloning) override; // 1D
30 
31  // add
32  [[nodiscard]] virtual Type GetType() const = 0; // 25
33  virtual void Update(float a_time); // 26
34  private:
35  KEEP_FOR_RE()
36  };
37  static_assert(sizeof(NiProperty) == 0x30);
38 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: NiCloningProcess.h:10
Definition: NiObjectNET.h:13
Definition: NiObject.h:37
Definition: NiProperty.h:8
~NiProperty() override
static constexpr auto RTTI
Definition: NiProperty.h:10
bool RegisterStreamables(NiStream &a_stream) override
static constexpr auto VTABLE
Definition: NiProperty.h:12
void ProcessClone(NiCloningProcess &a_cloning) override
void LoadBinary(NiStream &a_stream) override
Type
Definition: NiProperty.h:15
virtual void Update(float a_time)
virtual Type GetType() const =0
bool IsEqual(NiObject *a_object) override
static constexpr auto Ni_RTTI
Definition: NiProperty.h:11
const NiRTTI * GetRTTI() const override
void SaveBinary(NiStream &a_stream) override
void LinkObject(NiStream &a_stream) override
Definition: NiRTTI.h:6
Definition: NiStream.h:29
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_NiProperty
Definition: Offsets_VTABLE.h:12309
constexpr REL::ID NiRTTI_NiProperty(static_cast< std::uint64_t >(523929))
constexpr REL::ID RTTI_NiProperty(static_cast< std::uint64_t >(684912))