CommonLibSSE NG
Loading...
Searching...
No Matches
NiControllerManager.h
Go to the documentation of this file.
1#pragma once
2
5#include "RE/B/BSTHashMap.h"
7#include "RE/N/NiTArray.h"
8#include "RE/N/NiTSet.h"
10
11namespace RE
12{
13 class NiAVObjectPalette;
14 class NiControllerSequence;
15
17 {
18 public:
19 inline static constexpr auto RTTI = RTTI_NiControllerManager;
20 inline static auto Ni_RTTI = NiRTTI_NiControllerManager;
21
22 ~NiControllerManager() override; // 00
23
24 // override (NiTimeController)
25 const NiRTTI* GetRTTI() const override; // 02
26 NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17
27 void LoadBinary(NiStream& a_stream) override; // 18
28 void LinkObject(NiStream& a_stream) override; // 19
29 bool RegisterStreamables(NiStream& a_stream) override; // 1A
30 void SaveBinary(NiStream& a_stream) override; // 1B
31 bool IsEqual(NiObject* a_object) override; // 1C
32 void ProcessClone(NiCloningProcess& a_cloning) override; // 1D
33 void PostLinkObject(NiStream& a_stream) override; // 1E
34 NiControllerManager* AsNiControllerManager() override; // 24 - { return this; }
35 void Start(float a_time) override; // 25
36 void Stop() override; // 26
37 void Update(float a_time) override; // 27
38 void SetTarget(NiObjectNET* a_target) override; // 28
39 [[nodiscard]] bool TargetIsRequiredType() const override; // 2E
40
41 // add
42 virtual void Start(); // 2F - { return; }
43
44 NiControllerSequence* GetSequenceByName(std::string_view a_name);
45
46 // members
51 bool cumulative; // A8
52 std::uint8_t padA9; // A9
53 std::uint16_t padAA; // AA
54 std::uint32_t padAC; // AC
57 };
58 static_assert(sizeof(NiControllerManager) == 0xC8);
59}
Definition BSAnimNoteListener.h:11
Definition BSTHashMap.h:21
Definition NiCloningProcess.h:10
Definition NiControllerManager.h:17
NiTPrimitiveSet< NiControllerSequence * > activeSequences
Definition NiControllerManager.h:48
virtual void Start()
std::uint8_t padA9
Definition NiControllerManager.h:52
void SetTarget(NiObjectNET *a_target) override
std::uint16_t padAA
Definition NiControllerManager.h:53
static auto Ni_RTTI
Definition NiControllerManager.h:20
NiObject * CreateClone(NiCloningProcess &a_cloning) override
void LoadBinary(NiStream &a_stream) override
~NiControllerManager() override
bool RegisterStreamables(NiStream &a_stream) override
NiPointer< NiAVObjectPalette > objectPalette
Definition NiControllerManager.h:56
void PostLinkObject(NiStream &a_stream) override
NiTObjectSet< NiPointer< NiControllerSequence > > tempBlendSeqs
Definition NiControllerManager.h:55
NiTObjectArray< NiPointer< NiControllerSequence > > sequenceArray
Definition NiControllerManager.h:47
void Stop() override
void SaveBinary(NiStream &a_stream) override
static constexpr auto RTTI
Definition NiControllerManager.h:19
const NiRTTI * GetRTTI() const override
void Start(float a_time) override
bool TargetIsRequiredType() const override
BSAnimNoteListener * listener
Definition NiControllerManager.h:50
void Update(float a_time) override
bool IsEqual(NiObject *a_object) override
bool cumulative
Definition NiControllerManager.h:51
std::uint32_t padAC
Definition NiControllerManager.h:54
BSTHashMap< BSFixedString, NiControllerSequence * > stringMap
Definition NiControllerManager.h:49
NiControllerManager * AsNiControllerManager() override
void ProcessClone(NiCloningProcess &a_cloning) override
void LinkObject(NiStream &a_stream) override
NiControllerSequence * GetSequenceByName(std::string_view a_name)
Definition NiControllerSequence.h:23
Definition NiObject.h:37
Definition NiObjectNET.h:13
Definition NiSmartPointer.h:9
Definition NiRTTI.h:6
Definition NiStream.h:27
Definition NiTArray.h:126
Definition NiTSet.h:120
Definition NiTSet.h:130
Definition NiTimeController.h:13
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_NiControllerManager(690501, 398356, 0x1f62d30)
constexpr REL::VariantID NiRTTI_NiControllerManager(524054, 410635, 0x316c458)