CommonLibVR
SummonPlacementEffect.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSTEvent.h"
4 #include "RE/B/BSTSmartPointer.h"
5 #include "RE/N/NiPoint3.h"
6 #include "RE/N/NiSmartPointer.h"
8 #include "RE/R/ReferenceEffect.h"
10 
11 namespace RE
12 {
13  class BGSArtObject;
14  class BGSArtObjectCloneTask;
15  class NiAVObject;
16  struct BSAnimationGraphEvent;
17 
19  public ReferenceEffect, // 00
21  public BSTEventSink<BSAnimationGraphEvent> // 60
22  {
23  public:
24  inline static constexpr auto RTTI = RTTI_SummonPlacementEffect;
25  inline static constexpr auto Ni_RTTI = NiRTTI_SummonPlacementEffect;
26  inline static constexpr auto VTABLE = VTABLE_SummonPlacementEffect;
27  inline static constexpr auto TYPE = TEMP_EFFECT_TYPE::kMagicSummon;
28 
29  ~SummonPlacementEffect() override; // 00
30 
31  // override (ReferenceEffect)
32  const NiRTTI* GetRTTI() const override; // 02
33  bool Update(float a_arg1) override; // 28
34  TEMP_EFFECT_TYPE GetType() const override; // 2C - { return kMagicSummon; }
35  void SaveGame(BGSSaveGameBuffer* a_buf) override; // 2D
36  void LoadGame(BGSLoadGameBuffer* a_buf) override; // 2E
37  void FinishLoadGame(BGSLoadGameBuffer* a_buf) override; // 2F
38  void Init() override; // 36
39 
40  // override (SimpleAnimationGraphManagerHolder)
41  bool SetupAnimEventSinks(const BSTSmartPointer<BShkbAnimationGraph>& a_animGraph) override; // 08
42 
43  // override (BSTEventSink<BSAnimationGraphEvent>)
45 
46  // members
49  std::uint32_t pad7C; // 7C
51  std::uint64_t unk88; // 88
53  std::uint8_t unk98; // 98
54  private:
55  KEEP_FOR_RE()
56  };
57  static_assert(sizeof(SummonPlacementEffect) == 0xA0);
58 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BGSArtObject.h:12
Definition: BGSLoadGameBuffer.h:6
Definition: BGSSaveGameBuffer.h:10
Definition: BSTEvent.h:143
Definition: BSTSmartPointer.h:37
Definition: NiPoint3.h:6
Definition: NiSmartPointer.h:9
Definition: NiRTTI.h:6
Definition: ReferenceEffect.h:12
Definition: SimpleAnimationGraphManagerHolder.h:11
Definition: SummonPlacementEffect.h:22
~SummonPlacementEffect() override
void FinishLoadGame(BGSLoadGameBuffer *a_buf) override
bool SetupAnimEventSinks(const BSTSmartPointer< BShkbAnimationGraph > &a_animGraph) override
static constexpr auto VTABLE
Definition: SummonPlacementEffect.h:26
bool Update(float a_arg1) override
NiPoint3 location
Definition: SummonPlacementEffect.h:48
NiPointer< NiAVObject > effect3D
Definition: SummonPlacementEffect.h:50
void LoadGame(BGSLoadGameBuffer *a_buf) override
TEMP_EFFECT_TYPE GetType() const override
static constexpr auto RTTI
Definition: SummonPlacementEffect.h:24
void SaveGame(BGSSaveGameBuffer *a_buf) override
BSEventNotifyControl ProcessEvent(const BSAnimationGraphEvent *a_event, BSTEventSource< BSAnimationGraphEvent > *a_eventSource) override
static constexpr auto TYPE
Definition: SummonPlacementEffect.h:27
std::uint8_t unk98
Definition: SummonPlacementEffect.h:53
std::uint32_t pad7C
Definition: SummonPlacementEffect.h:49
static constexpr auto Ni_RTTI
Definition: SummonPlacementEffect.h:25
std::uint64_t unk88
Definition: SummonPlacementEffect.h:51
BGSArtObject * effectArt
Definition: SummonPlacementEffect.h:47
BSTSmartPointer< BGSArtObjectCloneTask > cloneTask
Definition: SummonPlacementEffect.h:52
const NiRTTI * GetRTTI() const override
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_SummonPlacementEffect(static_cast< std::uint64_t >(686560))
TEMP_EFFECT_TYPE
Definition: BSTempEffect.h:13
constexpr std::array< REL::ID, 3 > VTABLE_SummonPlacementEffect
Definition: Offsets_VTABLE.h:12787
constexpr REL::ID NiRTTI_SummonPlacementEffect(static_cast< std::uint64_t >(516720))
BSEventNotifyControl
Definition: BSTEvent.h:12
Definition: BSAnimationGraphEvent.h:10