CommonLibVR
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  private:
54  KEEP_FOR_RE()
55  };
56  static_assert(sizeof(BGSCollisionLayer) == 0x60);
57 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
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:378
Definition: TESDescription.h:12
Definition: TESFile.h:17
Definition: TESForm.h:40
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BGSCollisionLayer(static_cast< std::uint64_t >(513972))
constexpr std::array< REL::ID, 2 > VTABLE_BGSCollisionLayer
Definition: Offsets_VTABLE.h:8598
Definition: BGSCollisionLayer.h:30
RecordFlag
Definition: BGSCollisionLayer.h:32
@ kDeleted
Definition: BGSCollisionLayer.h:33
@ kIgnored
Definition: BGSCollisionLayer.h:34
Definition: Color.h:8