CommonLibSSE NG
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;
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 BGSLoadGameBuffer.h:6
Definition BSTArray.h:377
Definition BSTEvent.h:143
Definition BSTEvent.h:19
Definition BSTSmartPointer.h:36
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
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
static auto Ni_RTTI
Definition ModelReferenceEffect.h:23
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:223
Definition AbsorbEffect.h:6
TEMP_EFFECT_TYPE
Definition BSTempEffect.h:13
constexpr REL::VariantID NiRTTI_ModelReferenceEffect(516697, 402943, 0x2feac88)
constexpr REL::VariantID RTTI_ModelReferenceEffect(686535, 394371, 0x1f00a98)
BSEventNotifyControl
Definition BSTEvent.h:12
Definition BSAnimationGraphEvent.h:10