CommonLibSSE NG
ReferenceEffect.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSPointerHandle.h"
4 #include "RE/B/BSTempEffect.h"
5 
6 namespace RE
7 {
8  class BGSArtObject;
9  class ReferenceEffectController;
10 
12  {
13  public:
14  inline static constexpr auto RTTI = RTTI_ReferenceEffect;
15  inline static auto Ni_RTTI = NiRTTI_ReferenceEffect;
16  inline static constexpr auto TYPE = TEMP_EFFECT_TYPE::kRefDefault;
17 
18  ~ReferenceEffect() override; // 00
19 
20  // override (BSTempEffect)
21  const NiRTTI* GetRTTI() const override; // 02
22  void Detach() override; // 27
23  bool Update(float a_arg1) override; // 28
24  bool GetManagerHandlesSaveLoad() const override; // 2A
25  bool GetClearWhenCellIsUnloaded() const override; // 2B
26  TEMP_EFFECT_TYPE GetType() const override; // 2C - { return 8; }
27  void SaveGame(BGSSaveGameBuffer* a_buf) override; // 2D
28  void LoadGame(BGSLoadGameBuffer* a_buf) override; // 2E
29  void FinishLoadGame(BGSLoadGameBuffer* a_buf) override; // 2F
30 
31  // add
32  virtual void Init(); // 36 - { return 0; }
33  virtual void Suspend(); // 37 - { return; }
34  virtual void Resume(); // 38 - { return; }
35  virtual void ClearTarget(); // 39
36  virtual void UpdateParentCell(NiAVObject* a_object); // 3A
37  virtual void UpdatePosition(); // 3B - { return; }
38  virtual NiAVObject* GetAttachRoot(); // 3C
39  virtual bool GetAttached(); // 3D - { return 1; }
40  virtual void DetachImpl(); // 3E - { return; }
41 
42  // members
46  bool finished; // 40
47  bool ownController; // 41
48  std::uint16_t pad42; // 42
49  std::uint32_t pad44; // 44
50  };
51  static_assert(sizeof(ReferenceEffect) == 0x48);
52 }
Definition: BGSLoadGameBuffer.h:6
Definition: BGSSaveGameBuffer.h:10
Definition: BSTempEffect.h:29
Definition: NiAVObject.h:50
Definition: NiRTTI.h:6
Definition: ReferenceEffectController.h:19
Definition: ReferenceEffect.h:12
virtual void Suspend()
virtual void UpdateParentCell(NiAVObject *a_object)
virtual void Resume()
void SaveGame(BGSSaveGameBuffer *a_buf) override
static constexpr auto TYPE
Definition: ReferenceEffect.h:16
const NiRTTI * GetRTTI() const override
ReferenceEffectController * controller
Definition: ReferenceEffect.h:43
bool ownController
Definition: ReferenceEffect.h:47
void Detach() override
ObjectRefHandle target
Definition: ReferenceEffect.h:44
virtual void Init()
bool finished
Definition: ReferenceEffect.h:46
virtual bool GetAttached()
~ReferenceEffect() override
static auto Ni_RTTI
Definition: ReferenceEffect.h:15
static constexpr auto RTTI
Definition: ReferenceEffect.h:14
bool Update(float a_arg1) override
ObjectRefHandle aimAtTarget
Definition: ReferenceEffect.h:45
bool GetManagerHandlesSaveLoad() const override
bool GetClearWhenCellIsUnloaded() const override
virtual NiAVObject * GetAttachRoot()
void FinishLoadGame(BGSLoadGameBuffer *a_buf) override
virtual void ClearTarget()
std::uint32_t pad44
Definition: ReferenceEffect.h:49
virtual void DetachImpl()
virtual void UpdatePosition()
TEMP_EFFECT_TYPE GetType() const override
std::uint16_t pad42
Definition: ReferenceEffect.h:48
void LoadGame(BGSLoadGameBuffer *a_buf) override
Definition: AbsorbEffect.h:6
TEMP_EFFECT_TYPE
Definition: BSTempEffect.h:13
constexpr REL::VariantID RTTI_ReferenceEffect(686536, 394372, 0x1f00ac8)
constexpr REL::VariantID NiRTTI_ReferenceEffect(516706, 402952, 0x2feacc8)