CommonLibVR
BGSOpenCloseForm.h
Go to the documentation of this file.
1 #pragma once
2 
3 namespace RE
4 {
5  class Actor;
6  class TESObjectREFR;
7 
9  {
10  public:
11  inline static constexpr auto RTTI = RTTI_BGSOpenCloseForm;
12  inline static constexpr auto VTABLE = VTABLE_BGSOpenCloseForm;
13 
14  enum class OPEN_STATE
15  {
16  kNone = 0,
17  kOpen = 1,
18  kOpening = 2,
19  kClosed = 3,
20  kClosing = 4
21  };
22 
23  virtual ~BGSOpenCloseForm(); // 00
24 
25  // add
26  virtual void HandleOpen(TESObjectREFR* a_target, TESObjectREFR* a_activator); // 01 - { return; }
27  virtual void HandleClose(TESObjectREFR* a_target, TESObjectREFR* a_activator); // 02 - { return; }
28  virtual void Unk_03(void); // 03 - { return 0; }
29 
30  [[nodiscard]] static OPEN_STATE GetOpenState(const TESObjectREFR* a_ref);
31  static void SetOpenState(TESObjectREFR* a_ref, bool a_open, bool a_snap);
32 
33  private:
34  KEEP_FOR_RE()
35  };
36  static_assert(sizeof(BGSOpenCloseForm) == 0x8);
37 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BGSOpenCloseForm.h:9
static OPEN_STATE GetOpenState(const TESObjectREFR *a_ref)
static constexpr auto VTABLE
Definition: BGSOpenCloseForm.h:12
virtual void HandleClose(TESObjectREFR *a_target, TESObjectREFR *a_activator)
virtual void Unk_03(void)
OPEN_STATE
Definition: BGSOpenCloseForm.h:15
virtual void HandleOpen(TESObjectREFR *a_target, TESObjectREFR *a_activator)
static void SetOpenState(TESObjectREFR *a_ref, bool a_open, bool a_snap)
virtual ~BGSOpenCloseForm()
static constexpr auto RTTI
Definition: BGSOpenCloseForm.h:11
Definition: TESObjectREFR.h:113
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_BGSOpenCloseForm
Definition: Offsets_VTABLE.h:8675
constexpr REL::ID RTTI_BGSOpenCloseForm(static_cast< std::uint64_t >(685035))