CommonLibSSE NG
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 auto Ni_RTTI = NiRTTI_SummonPlacementEffect;
26  inline static constexpr auto TYPE = TEMP_EFFECT_TYPE::kMagicSummon;
27 
28  ~SummonPlacementEffect() override; // 00
29 
30  // override (ReferenceEffect)
31  const NiRTTI* GetRTTI() const override; // 02
32  bool Update(float a_arg1) override; // 28
33  TEMP_EFFECT_TYPE GetType() const override; // 2C - { return kMagicSummon; }
34  void SaveGame(BGSSaveGameBuffer* a_buf) override; // 2D
35  void LoadGame(BGSLoadGameBuffer* a_buf) override; // 2E
36  void FinishLoadGame(BGSLoadGameBuffer* a_buf) override; // 2F
37  void Init() override; // 36
38 
39  // override (SimpleAnimationGraphManagerHolder)
40  bool SetupAnimEventSinks(const BSTSmartPointer<BShkbAnimationGraph>& a_animGraph) override; // 08
41 
42  // override (BSTEventSink<BSAnimationGraphEvent>)
44 
45  // members
48  std::uint32_t pad7C; // 7C
50  std::uint64_t unk88; // 88
52  std::uint8_t unk98; // 98
53  };
54  static_assert(sizeof(SummonPlacementEffect) == 0xA0);
55 }
Definition: BGSArtObject.h:12
Definition: BGSLoadGameBuffer.h:6
Definition: BGSSaveGameBuffer.h:10
Definition: BSTEvent.h:143
Definition: BSTSmartPointer.h:36
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
bool Update(float a_arg1) override
NiPoint3 location
Definition: SummonPlacementEffect.h:47
NiPointer< NiAVObject > effect3D
Definition: SummonPlacementEffect.h:49
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 auto Ni_RTTI
Definition: SummonPlacementEffect.h:25
static constexpr auto TYPE
Definition: SummonPlacementEffect.h:26
std::uint8_t unk98
Definition: SummonPlacementEffect.h:52
std::uint32_t pad7C
Definition: SummonPlacementEffect.h:48
std::uint64_t unk88
Definition: SummonPlacementEffect.h:50
BGSArtObject * effectArt
Definition: SummonPlacementEffect.h:46
BSTSmartPointer< BGSArtObjectCloneTask > cloneTask
Definition: SummonPlacementEffect.h:51
const NiRTTI * GetRTTI() const override
Definition: AbsorbEffect.h:6
TEMP_EFFECT_TYPE
Definition: BSTempEffect.h:13
constexpr REL::VariantID NiRTTI_SummonPlacementEffect(516720, 402966, 0x2fead28)
constexpr REL::VariantID RTTI_SummonPlacementEffect(686560, 394397, 0x1f012b0)
BSEventNotifyControl
Definition: BSTEvent.h:12
Definition: BSAnimationGraphEvent.h:10