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 NiAVObject;
13 struct BSAnimationGraphEvent;
14 class BGSArtObjectCloneTask;
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 TYPE = TEMP_EFFECT_TYPE::kRefModel;
25
26 enum class Flags
27 {
28 kNone = 0,
29 kAttached = 1 << 0,
30 k3rdPersonVisible = 1 << 1
31 };
32
33 ~ModelReferenceEffect() override; // 00
34
35 // override (ReferenceEffect)
36 const NiRTTI* GetRTTI() const override; // 02
37 bool Update(float a_arg1) override; // 28
38 NiAVObject* Get3D() const override; // 29 - { return artObject3D; }
39 TEMP_EFFECT_TYPE GetType() const override; // 2C - { return 9; }
40 void SaveGame(BGSSaveGameBuffer* a_buf) override; // 2D
41 void LoadGame(BGSLoadGameBuffer* a_buf) override; // 2E
42 void Init() override; // 36
43 void UpdateParentCell(NiAVObject* a_object) override; // 3A
44 void UpdatePosition() override; // 3B
45 NiAVObject* GetAttachRoot() override; // 3C
46 bool GetAttached() override; // 3D - { return flags & 1; }
47 void DetachImpl() override; // 3E
48
49 // override (SimpleAnimationGraphManagerHolder)
50 bool SetupAnimEventSinks(const BSTSmartPointer<BShkbAnimationGraph>& a_animGraph) override; // 08
53
54 // override (BSTEventSink<BSAnimationGraphEvent>)
56
57 // members
59 std::uint64_t unkB0; // B0
64 std::uint32_t padD4; // D4
65 };
66 static_assert(sizeof(ModelReferenceEffect) == 0xD8);
67}
Definition: BGSArtObject.h:12
Definition: BSTArray.h:377
Definition: BSTEvent.h:143
Definition: BSTEvent.h:19
Definition: BSTSmartPointer.h:37
Definition: ModelReferenceEffect.h:20
BGSArtObject * artObject
Definition: ModelReferenceEffect.h:60
void Init() override
bool SetupAnimEventSinks(const BSTSmartPointer< BShkbAnimationGraph > &a_animGraph) override
void UpdatePosition() override
stl::enumeration< Flags, std::uint32_t > flags
Definition: ModelReferenceEffect.h:63
void SaveGame(BGSSaveGameBuffer *a_buf) override
BSTSmartPointer< BGSArtObjectCloneTask > cloneTask
Definition: ModelReferenceEffect.h:61
bool Update(float a_arg1) override
BSEventNotifyControl ProcessEvent(const BSAnimationGraphEvent *a_event, BSTEventSource< BSAnimationGraphEvent > *a_eventSource) override
static constexpr auto TYPE
Definition: ModelReferenceEffect.h:24
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:64
static constexpr auto RTTI
Definition: ModelReferenceEffect.h:22
bool GetAttached() override
void UpdateParentCell(NiAVObject *a_object) override
void DetachImpl() override
Flags
Definition: ModelReferenceEffect.h:27
NiAVObject * GetAttachRoot() override
void LoadGame(BGSLoadGameBuffer *a_buf) override
std::uint64_t unkB0
Definition: ModelReferenceEffect.h:59
NiAVObject * Get3D() const override
NiPointer< NiAVObject > artObject3D
Definition: ModelReferenceEffect.h:62
RefAttachTechniqueInput hitEffectArtData
Definition: ModelReferenceEffect.h:58
bool CreateAnimationChannels(BSScrapArray< BSTSmartPointer< BSAnimationGraphChannel > > &animGraphChannels) override
~ModelReferenceEffect() override
Definition: NiAVObject.h:50
Definition: NiSmartPointer.h:9
Definition: NiRTTI.h:6
Definition: RefAttachTechniqueInput.h:12
Definition: ReferenceEffect.h:12
Definition: SimpleAnimationGraphManagerHolder.h:11
Definition: PCH.h:217
Definition: AbsorbEffect.h:6
TEMP_EFFECT_TYPE
Definition: BSTempEffect.h:13
constexpr REL::ID NiRTTI_ModelReferenceEffect(static_cast< std::uint64_t >(516697))
constexpr REL::ID RTTI_ModelReferenceEffect(static_cast< std::uint64_t >(686535))
BSEventNotifyControl
Definition: BSTEvent.h:12
Definition: BSAnimationGraphEvent.h:10