CommonLibSSE (powerof3)
Loading...
Searching...
No Matches
ModelReferenceEffect.h
Go to the documentation of this file.
1#pragma once
2
4#include "RE/B/BSTEvent.h"
9
10namespace RE
11{
12 class BGSArtObjectCloneTask;
13 class NiAVObject;
14 struct BSAnimationGraphEvent;
15
17 public ReferenceEffect, // 00
19 public BSTEventSink<BSAnimationGraphEvent> // 60
20 {
21 public:
22 inline static constexpr auto RTTI = RTTI_ModelReferenceEffect;
23 inline static constexpr auto Ni_RTTI = NiRTTI_ModelReferenceEffect;
24 inline static constexpr auto VTABLE = VTABLE_ModelReferenceEffect;
25 inline static constexpr auto TYPE = TEMP_EFFECT_TYPE::kRefModel;
26
27 enum class Flags
28 {
29 kNone = 0,
30 kAttached = 1 << 0,
31 kThirdPerson = 1 << 1
32 };
33
34 ~ModelReferenceEffect() override; // 00
35
36 // override (ReferenceEffect)
37 const NiRTTI* GetRTTI() const override; // 02
38 bool Update(float a_arg1) override; // 28
39 NiAVObject* Get3D() const override; // 29 - { return artObject3D; }
40 TEMP_EFFECT_TYPE GetType() const override; // 2C - { return 9; }
41 void SaveGame(BGSSaveGameBuffer* a_buf) override; // 2D
42 void LoadGame(BGSLoadGameBuffer* a_buf) override; // 2E
43 void Init() override; // 36
44 void UpdateParentCell(NiAVObject* a_object) override; // 3A
45 void UpdatePosition() override; // 3B
46 NiAVObject* GetAttachRoot() override; // 3C
47 bool GetAttached() override; // 3D - { return flags & 1; }
48 void DetachImpl() override; // 3E
49
50 // override (SimpleAnimationGraphManagerHolder)
51 bool SetupAnimEventSinks(const BSTSmartPointer<BShkbAnimationGraph>& a_animGraph) override; // 08
54
55 // override (BSTEventSink<BSAnimationGraphEvent>)
57
58 // members
65 std::uint32_t padD4; // D4
66 };
67 static_assert(sizeof(ModelReferenceEffect) == 0xD8);
68}
Definition EnumSet.h:9
Definition BGSArtObject.h:12
Definition BGSLoadGameBuffer.h:6
Definition BGSSaveGameBuffer.h:10
Definition BSTArray.h:378
Definition BSTEvent.h:185
Definition BSTEvent.h:19
Definition BSTSmartPointer.h:37
Definition ModelReferenceEffect.h:20
BGSArtObject * artObject
Definition ModelReferenceEffect.h:61
void Init() override
bool SetupAnimEventSinks(const BSTSmartPointer< BShkbAnimationGraph > &a_animGraph) override
void UpdatePosition() override
void SaveGame(BGSSaveGameBuffer *a_buf) override
BSTSmartPointer< BGSArtObjectCloneTask > cloneTask
Definition ModelReferenceEffect.h:62
bool Update(float a_arg1) override
BSEventNotifyControl ProcessEvent(const BSAnimationGraphEvent *a_event, BSTEventSource< BSAnimationGraphEvent > *a_eventSource) override
static constexpr auto TYPE
Definition ModelReferenceEffect.h:25
TEMP_EFFECT_TYPE GetType() const override
void PostChangeAnimationManager(const BSTSmartPointer< BShkbAnimationGraph > &a_arg1, const BSTSmartPointer< BShkbAnimationGraph > &a_arg2) override
const NiRTTI * GetRTTI() const override
static constexpr auto Ni_RTTI
Definition ModelReferenceEffect.h:23
std::uint32_t padD4
Definition ModelReferenceEffect.h:65
static constexpr auto RTTI
Definition ModelReferenceEffect.h:22
bool GetAttached() override
void UpdateParentCell(NiAVObject *a_object) override
void DetachImpl() override
Flags
Definition ModelReferenceEffect.h:28
NiAVObject * GetAttachRoot() override
void LoadGame(BGSLoadGameBuffer *a_buf) override
NiAVObject * Get3D() const override
REX::EnumSet< Flags, std::uint32_t > flags
Definition ModelReferenceEffect.h:64
NiPointer< NiAVObject > artObject3D
Definition ModelReferenceEffect.h:63
RefAttachTechniqueInput hitEffectArtData
Definition ModelReferenceEffect.h:59
BGSLoadGameSubBuffer loadGameSubBuffer
Definition ModelReferenceEffect.h:60
static constexpr auto VTABLE
Definition ModelReferenceEffect.h:24
bool CreateAnimationChannels(BSScrapArray< BSTSmartPointer< BSAnimationGraphChannel > > &animGraphChannels) override
~ModelReferenceEffect() override
Definition NiAVObject.h:51
Definition NiSmartPointer.h:9
Definition NiRTTI.h:6
Definition RefAttachTechniqueInput.h:12
Definition ReferenceEffect.h:12
Definition SimpleAnimationGraphManagerHolder.h:11
Definition AbsorbEffect.h:6
TEMP_EFFECT_TYPE
Definition BSTempEffect.h:13
constexpr REL::ID NiRTTI_ModelReferenceEffect(static_cast< std::uint64_t >(516697))
constexpr std::array< REL::ID, 3 > VTABLE_ModelReferenceEffect
Definition Offsets_VTABLE.h:12033
constexpr REL::ID RTTI_ModelReferenceEffect(static_cast< std::uint64_t >(686535))
BSEventNotifyControl
Definition BSTEvent.h:12
Definition BGSLoadGameSubBuffer.h:14
Definition BSAnimationGraphEvent.h:10