CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
BGSKeywordForm.h
Go to the documentation of this file.
1#pragma once
2
4
5namespace RE
6{
7 class BGSKeyword;
8
10 {
11 public:
12 inline static constexpr auto RTTI = RTTI_BGSKeywordForm;
13
14 ~BGSKeywordForm() override; // 00
15
16 // override (BaseFormComponent)
17 void InitializeDataComponent() override; // 01 - { return; }
18 void ClearDataComponent() override; // 02
19 void CopyComponent(BaseFormComponent* a_rhs) override; // 03
20
21 // add
22 virtual bool HasKeyword(const BGSKeyword* a_keyword) const; // 04
23 [[nodiscard]] virtual BGSKeyword* GetDefaultKeyword() const; // 05 - { return 0; }
24
25 [[nodiscard]] bool HasKeyword(FormID a_formID) const;
26 [[nodiscard]] std::optional<BGSKeyword*> GetKeywordAt(std::uint32_t a_idx) const;
27 [[nodiscard]] std::uint32_t GetNumKeywords() const;
28
29 // members
30 BGSKeyword** keywords; // 08 - KWDA
31 std::uint32_t numKeywords; // 10 - KSIZ
32 std::uint32_t pad14; // 14
33 };
34 static_assert(sizeof(BGSKeywordForm) == 0x18);
35}
Definition: BGSKeywordForm.h:10
std::optional< BGSKeyword * > GetKeywordAt(std::uint32_t a_idx) const
virtual BGSKeyword * GetDefaultKeyword() const
std::uint32_t numKeywords
Definition: BGSKeywordForm.h:31
std::uint32_t pad14
Definition: BGSKeywordForm.h:32
static constexpr auto RTTI
Definition: BGSKeywordForm.h:12
void InitializeDataComponent() override
BGSKeyword ** keywords
Definition: BGSKeywordForm.h:30
virtual bool HasKeyword(const BGSKeyword *a_keyword) const
bool HasKeyword(FormID a_formID) const
~BGSKeywordForm() override
void CopyComponent(BaseFormComponent *a_rhs) override
void ClearDataComponent() override
std::uint32_t GetNumKeywords() const
Definition: BGSKeyword.h:10
Definition: BaseFormComponent.h:8
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BGSKeywordForm
Definition: Offsets_RTTI.h:1314
std::uint32_t FormID
Definition: BSCoreTypes.h:5