CommonLibSSE (powerof3)
ExtraAction.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSExtraData.h"
4 #include "RE/E/ExtraDataTypes.h"
5 
6 namespace RE
7 {
8  enum class OBJECT_ACTION
9  {
10  kNone = 0,
11  kUseDefault = 1 << 0,
12  kActivate = 1 << 1,
13  kOpen = 1 << 2,
14  kOpenByDefault = 1 << 3
15  };
16 
17  class TESObjectREFR;
18 
19  class ExtraAction : public BSExtraData
20  {
21  public:
22  inline static constexpr auto RTTI = RTTI_ExtraAction;
23  inline static constexpr auto VTABLE = VTABLE_ExtraAction;
24  inline static constexpr auto EXTRADATATYPE = ExtraDataType::kAction;
25 
26  ~ExtraAction() override; // 00
27 
28  // override (BSExtraData)
29  ExtraDataType GetType() const override; // 01 - { return kAction; }
30  bool IsNotEqual(const BSExtraData* a_rhs) const override; // 02 - { return unk10 != a_rhs->unk10; }
31 
32  // members
34  std::uint8_t pad11; // 11
35  std::uint16_t pad12; // 12
36  std::uint32_t pad14; // 14
38  };
39  static_assert(sizeof(ExtraAction) == 0x20);
40 }
Definition: BSExtraData.h:9
Definition: ExtraAction.h:20
std::uint8_t pad11
Definition: ExtraAction.h:34
static constexpr auto VTABLE
Definition: ExtraAction.h:23
TESObjectREFR * actionRef
Definition: ExtraAction.h:37
ExtraDataType GetType() const override
static constexpr auto EXTRADATATYPE
Definition: ExtraAction.h:24
REX::EnumSet< OBJECT_ACTION, std::int8_t > action
Definition: ExtraAction.h:33
~ExtraAction() override
std::uint16_t pad12
Definition: ExtraAction.h:35
bool IsNotEqual(const BSExtraData *a_rhs) const override
std::uint32_t pad14
Definition: ExtraAction.h:36
static constexpr auto RTTI
Definition: ExtraAction.h:22
Definition: TESObjectREFR.h:114
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_ExtraAction(static_cast< std::uint64_t >(684774))
constexpr std::array< REL::ID, 1 > VTABLE_ExtraAction
Definition: Offsets_VTABLE.h:11476
OBJECT_ACTION
Definition: ExtraAction.h:9
ExtraDataType
Definition: ExtraDataTypes.h:173