CommonLibSSE NG
Loading...
Searching...
No Matches
NiIntegersExtraData.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/N/NiExtraData.h"
4
5namespace RE
6{
8 {
9 public:
10 inline static constexpr auto RTTI = RTTI_NiIntegersExtraData;
11 inline static auto Ni_RTTI = NiRTTI_NiIntegersExtraData;
12 inline static constexpr auto VTABLE = VTABLE_NiIntegersExtraData;
13
14 ~NiIntegersExtraData() override; // 00
15
16 // override (NiExtraData)
17 const NiRTTI* GetRTTI() const override; // 02
18 NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17
19 void LoadBinary(NiStream& a_stream) override; // 18
20 void LinkObject(NiStream& a_stream) override; // 19 - { NiExtraData::LinkObject(a_stream); }
21 bool RegisterStreamables(NiStream& a_stream) override; // 1A - { return NiExtraData::RegisterStreamables(a_stream); }
22 void SaveBinary(NiStream& a_stream) override; // 1B
23 bool IsEqual(NiObject* a_object) override; // 1C
24
25 static NiIntegersExtraData* Create(const BSFixedString& a_name, const std::vector<std::int32_t>& a_integers);
26
27 [[nodiscard]] std::optional<std::uint32_t> GetIndex(std::int32_t a_element) const;
28 bool Insert(std::int32_t a_element);
29 bool Remove(std::int32_t a_element);
30
31 // members
32 std::uint32_t size; // 18
33 std::uint32_t pad; // 1C
34 std::int32_t* value; // 20
35 };
36 static_assert(sizeof(NiIntegersExtraData) == 0x28);
37}
Definition NiCloningProcess.h:10
Definition NiExtraData.h:9
Definition NiIntegersExtraData.h:8
std::uint32_t size
Definition NiIntegersExtraData.h:32
static constexpr auto RTTI
Definition NiIntegersExtraData.h:10
bool Insert(std::int32_t a_element)
const NiRTTI * GetRTTI() const override
std::optional< std::uint32_t > GetIndex(std::int32_t a_element) const
bool Remove(std::int32_t a_element)
static auto Ni_RTTI
Definition NiIntegersExtraData.h:11
void LoadBinary(NiStream &a_stream) override
~NiIntegersExtraData() override
bool IsEqual(NiObject *a_object) override
static NiIntegersExtraData * Create(const BSFixedString &a_name, const std::vector< std::int32_t > &a_integers)
std::int32_t * value
Definition NiIntegersExtraData.h:34
std::uint32_t pad
Definition NiIntegersExtraData.h:33
NiObject * CreateClone(NiCloningProcess &a_cloning) override
void SaveBinary(NiStream &a_stream) override
void LinkObject(NiStream &a_stream) override
static constexpr auto VTABLE
Definition NiIntegersExtraData.h:12
bool RegisterStreamables(NiStream &a_stream) override
Definition NiObject.h:37
Definition NiRTTI.h:6
Definition NiStream.h:27
Definition AbsorbEffect.h:6
constexpr REL::VariantID NiRTTI_NiIntegersExtraData(524000, 410580, 0x316c1f0)
constexpr std::array< REL::VariantID, 1 > VTABLE_NiIntegersExtraData
Definition Offsets_VTABLE.h:5569
constexpr REL::VariantID RTTI_NiIntegersExtraData(690458, 398313, 0x1f624a0)