CommonLibSSE NG
Loading...
Searching...
No Matches
BGSIdleCollection.h
Go to the documentation of this file.
1#pragma once
2
4
5namespace RE
6{
7 class TESIdleForm;
8
10 {
11 public:
12 inline static constexpr auto RTTI = RTTI_BGSIdleCollection;
13
14 enum class IdleFlags
15 {
16 kNone = 0,
17 kPickSequence = 1 << 0,
18 kOldPickConditions = 1 << 1,
19 kDoOnce = 1 << 2,
20 kLooseOnly = 1 << 3,
21 kNoSandbox = 1 << 4
22 };
23
24 ~BGSIdleCollection() override; // 00
25
26 // override (BaseFormComponent)
27 void InitializeDataComponent() override; // 01
28 void ClearDataComponent() override; // 02
29 void CopyComponent(BaseFormComponent* a_rhs) override; // 03
30
31 bool AddIdle(TESIdleForm* a_idle);
33 std::optional<std::uint32_t> GetIndex(TESIdleForm* a_idle) const;
34 bool RemoveIdle(TESIdleForm* a_idle);
35
36 // members
38 std::int8_t idleCount; // 09 - IDLC
39 std::uint16_t pad0A; // 0A
40 std::uint32_t pad0C; // 0C
41 TESIdleForm** idles; // 10 - IDLA
42 float timerCheckForIdle; // 18 - IDLT
43 std::uint32_t pad1C; // 1C
44
45 private:
46 BGSIdleCollection* Ctor()
47 {
48 using func_t = decltype(&BGSIdleCollection::Ctor);
49 REL::Relocation<func_t> func{ RELOCATION_ID(14127, 14227) };
50 return func(this);
51 }
52 void CopyIdles(const std::vector<TESIdleForm*>& a_copiedData);
53 };
54 static_assert(sizeof(BGSIdleCollection) == 0x20);
55}
#define RELOCATION_ID(a_se, a_ae)
Definition PCH.h:794
Definition BGSIdleCollection.h:10
stl::enumeration< IdleFlags, std::int8_t > idleFlags
Definition BGSIdleCollection.h:37
~BGSIdleCollection() override
bool RemoveIdle(TESIdleForm *a_idle)
void CopyComponent(BaseFormComponent *a_rhs) override
bool AddIdle(TESIdleForm *a_idle)
void ClearDataComponent() override
std::int8_t idleCount
Definition BGSIdleCollection.h:38
TESIdleForm ** idles
Definition BGSIdleCollection.h:41
static constexpr auto RTTI
Definition BGSIdleCollection.h:12
std::uint32_t pad0C
Definition BGSIdleCollection.h:40
float timerCheckForIdle
Definition BGSIdleCollection.h:42
void InitializeDataComponent() override
static BGSIdleCollection * Create()
std::uint32_t pad1C
Definition BGSIdleCollection.h:43
std::uint16_t pad0A
Definition BGSIdleCollection.h:39
IdleFlags
Definition BGSIdleCollection.h:15
std::optional< std::uint32_t > GetIndex(TESIdleForm *a_idle) const
Definition BaseFormComponent.h:8
Definition TESIdleForm.h:37
Definition Relocation.h:1638
Definition PCH.h:223
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_BGSIdleCollection(513931, 392570, 0x1edb208)