CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
InventoryChanges.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BSTList.h"
4#include "RE/F/FormTypes.h"
6
7namespace RE
8{
9 class ExtraDataList;
10 class InventoryEntryData;
11
13 {
14 public:
15 enum class VisitResult : std::uint32_t
16 {
17 kStop = 0,
18 kContinue = 1,
19 };
20
22 {
23 public:
24 inline static constexpr auto RTTI = RTTI_InventoryChanges__IItemChangeVisitor;
25
26 virtual ~IItemChangeVisitor(); // 00
27
28 // add
29 virtual VisitResult Visit(InventoryEntryData* a_entryData) = 0; // 01
30 virtual void Unk_02(RE::FormType a_formType); // 02 - { return 1; }
31 virtual void Unk_03(void); // 03
32 };
33 static_assert(sizeof(IItemChangeVisitor) == 0x8);
34
38
40#ifndef SKYRIMVR
41 TESObjectARMO* GetArmorInSlot(std::int32_t a_slot);
42#endif
43 std::uint16_t GetNextUniqueID();
47 void SendContainerChangedEvent(ExtraDataList* a_itemExtraList, TESObjectREFR* a_fromRefr, TESForm* a_item, std::int32_t a_count);
48 void SetUniqueID(ExtraDataList* a_itemList, TESForm* a_oldForm, TESForm* a_newForm);
49
51
52 // members
54 TESObjectREFR* owner{ nullptr }; // 08
55 float totalWeight{ 0.0F }; // 10
56 float armorWeight{ 0.0F }; // 14
57 bool changed{ false }; // 18
58 std::uint8_t unk19{ 0 }; // 19
59 std::uint8_t unk1A{ 0 }; // 1A
60 std::uint8_t unk1B{ 0 }; // 1B
61 std::uint32_t unk1C{ 0 }; // 1C
62
63 private:
64 InventoryChanges* Ctor(TESObjectREFR* a_ref);
65 void Dtor();
66 };
67 static_assert(sizeof(InventoryChanges) == 0x20);
68}
Definition: BSTList.h:10
Definition: ExtraDataList.h:46
Definition: InventoryChanges.h:22
virtual void Unk_02(RE::FormType a_formType)
virtual VisitResult Visit(InventoryEntryData *a_entryData)=0
static constexpr auto RTTI
Definition: InventoryChanges.h:24
Definition: InventoryChanges.h:13
VisitResult
Definition: InventoryChanges.h:16
void SetUniqueID(ExtraDataList *a_itemList, TESForm *a_oldForm, TESForm *a_newForm)
void AddEntryData(InventoryEntryData *a_entry)
std::uint16_t GetNextUniqueID()
float totalWeight
Definition: InventoryChanges.h:55
std::uint8_t unk19
Definition: InventoryChanges.h:58
std::uint32_t unk1C
Definition: InventoryChanges.h:61
float armorWeight
Definition: InventoryChanges.h:56
TESObjectREFR * owner
Definition: InventoryChanges.h:54
TESObjectARMO * GetArmorInSlot(std::int32_t a_slot)
bool changed
Definition: InventoryChanges.h:57
std::uint8_t unk1B
Definition: InventoryChanges.h:60
void SendContainerChangedEvent(ExtraDataList *a_itemExtraList, TESObjectREFR *a_fromRefr, TESForm *a_item, std::int32_t a_count)
BSSimpleList< InventoryEntryData * > * entryList
Definition: InventoryChanges.h:53
std::uint8_t unk1A
Definition: InventoryChanges.h:59
InventoryChanges(TESObjectREFR *a_ref)
Definition: InventoryEntryData.h:14
Definition: TESForm.h:34
Definition: TESObjectARMO.h:37
Definition: TESObjectREFR.h:105
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_InventoryChanges__IItemChangeVisitor
Definition: Offsets_RTTI.h:5071
FormType
Definition: FormTypes.h:139