CommonLibSSE NG
BGSCollisionLayer.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSFixedString.h"
4 #include "RE/B/BSTArray.h"
5 #include "RE/C/Color.h"
6 #include "RE/F/FormTypes.h"
7 #include "RE/T/TESDescription.h"
8 #include "RE/T/TESForm.h"
9 
10 namespace RE
11 {
13  public TESForm, // 00
14  public TESDescription // 20
15  {
16  public:
17  inline static constexpr auto RTTI = RTTI_BGSCollisionLayer;
18  inline static constexpr auto VTABLE = VTABLE_BGSCollisionLayer;
19  inline static constexpr auto FORMTYPE = FormType::CollisionLayer;
20 
21  enum class FLAG // GNAM
22  {
23  kNone = 0,
24  kTriggerVolume = 1 << 0,
25  kSensor = 1 << 1,
26  kNavmeshObstacle = 1 << 2
27  };
28 
29  struct RecordFlags
30  {
31  enum RecordFlag : std::uint32_t
32  {
33  kDeleted = 1 << 5,
34  kIgnored = 1 << 12
35  };
36  };
37 
38  ~BGSCollisionLayer() override; // 00
39 
40  // override (TESForm)
41  void ClearData() override; // 05
42  bool Load(TESFile* a_mod) override; // 06
43  void InitItemImpl() override; // 13
44  void SetDelete(bool a_set) override; // 23 - { TESForm::SetDelete(a_set); }
45 
46  // members
47  std::uint32_t collisionIdx; // 30 - BNAM
48  Color debugColor; // 34 - FNAM
50  std::uint32_t pad3C; // 3C
51  BSFixedString name; // 40 - MNAM
53  };
54  static_assert(sizeof(BGSCollisionLayer) == 0x60);
55 }
Definition: BGSCollisionLayer.h:15
Color debugColor
Definition: BGSCollisionLayer.h:48
static constexpr auto RTTI
Definition: BGSCollisionLayer.h:17
~BGSCollisionLayer() override
FLAG
Definition: BGSCollisionLayer.h:22
void ClearData() override
std::uint32_t pad3C
Definition: BGSCollisionLayer.h:50
BSFixedString name
Definition: BGSCollisionLayer.h:51
std::uint32_t collisionIdx
Definition: BGSCollisionLayer.h:47
bool Load(TESFile *a_mod) override
void InitItemImpl() override
void SetDelete(bool a_set) override
stl::enumeration< FLAG, std::uint32_t > flags
Definition: BGSCollisionLayer.h:49
BSTArray< BGSCollisionLayer * > collidesWith
Definition: BGSCollisionLayer.h:52
static constexpr auto FORMTYPE
Definition: BGSCollisionLayer.h:19
static constexpr auto VTABLE
Definition: BGSCollisionLayer.h:18
Definition: BSTArray.h:377
Definition: TESDescription.h:12
Definition: TESFile.h:17
Definition: TESForm.h:36
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_BGSCollisionLayer(513972, 392780, 0x1ede340)
constexpr std::array< REL::VariantID, 2 > VTABLE_BGSCollisionLayer
Definition: Offsets_VTABLE.h:707
Definition: BGSCollisionLayer.h:30
RecordFlag
Definition: BGSCollisionLayer.h:32
@ kDeleted
Definition: BGSCollisionLayer.h:33
@ kIgnored
Definition: BGSCollisionLayer.h:34
Definition: Color.h:8