CommonLibSSE (powerof3)
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 constexpr auto Ni_RTTI = NiRTTI_NiControllerManager;
21 inline static constexpr auto VTABLE = VTABLE_NiControllerManager;
22
23 ~NiControllerManager() override; // 00
24
25 // override (NiTimeController)
26 const NiRTTI* GetRTTI() const override; // 02
27 NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17
28 void LoadBinary(NiStream& a_stream) override; // 18
29 void LinkObject(NiStream& a_stream) override; // 19
30 bool RegisterStreamables(NiStream& a_stream) override; // 1A
31 void SaveBinary(NiStream& a_stream) override; // 1B
32 bool IsEqual(NiObject* a_object) override; // 1C
33 void ProcessClone(NiCloningProcess& a_cloning) override; // 1D
34 void PostLinkObject(NiStream& a_stream) override; // 1E
35 NiControllerManager* AsNiControllerManager() override; // 24 - { return this; }
36 void Start(float a_time) override; // 25
37 void Stop() override; // 26
38 void Update(float a_time) override; // 27
39 void SetTarget(NiObjectNET* a_target) override; // 28
40 [[nodiscard]] bool TargetIsRequiredType() const override; // 2E
41
42 // add
43 virtual void Start(); // 2F - { return; }
44
45 NiControllerSequence* GetSequenceByName(std::string_view a_name);
46
47 // members
52 bool cumulative; // A8
53 std::uint8_t padA9; // A9
54 std::uint16_t padAA; // AA
55 std::uint32_t padAC; // AC
58 };
59 static_assert(sizeof(NiControllerManager) == 0xC8);
60}
Definition BSAnimNoteListener.h:11
Definition BSTHashMap.h:21
Definition NiCloningProcess.h:10
Definition NiControllerManager.h:17
NiTPrimitiveSet< NiControllerSequence * > activeSequences
Definition NiControllerManager.h:49
virtual void Start()
std::uint8_t padA9
Definition NiControllerManager.h:53
void SetTarget(NiObjectNET *a_target) override
std::uint16_t padAA
Definition NiControllerManager.h:54
NiObject * CreateClone(NiCloningProcess &a_cloning) override
static constexpr auto Ni_RTTI
Definition NiControllerManager.h:20
void LoadBinary(NiStream &a_stream) override
~NiControllerManager() override
bool RegisterStreamables(NiStream &a_stream) override
NiPointer< NiAVObjectPalette > objectPalette
Definition NiControllerManager.h:57
void PostLinkObject(NiStream &a_stream) override
NiTObjectSet< NiPointer< NiControllerSequence > > tempBlendSeqs
Definition NiControllerManager.h:56
NiTObjectArray< NiPointer< NiControllerSequence > > sequenceArray
Definition NiControllerManager.h:48
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:51
static constexpr auto VTABLE
Definition NiControllerManager.h:21
void Update(float a_time) override
bool IsEqual(NiObject *a_object) override
bool cumulative
Definition NiControllerManager.h:52
std::uint32_t padAC
Definition NiControllerManager.h:55
BSTHashMap< BSFixedString, NiControllerSequence * > stringMap
Definition NiControllerManager.h:50
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 NiObjectNET.h:13
Definition NiObject.h:37
Definition NiSmartPointer.h:9
Definition NiRTTI.h:6
Definition NiStream.h:29
Definition NiTArray.h:126
Definition NiTSet.h:120
Definition NiTSet.h:130
Definition NiTimeController.h:13
Definition AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_NiControllerManager
Definition Offsets_VTABLE.h:12196
constexpr REL::ID NiRTTI_NiControllerManager(static_cast< std::uint64_t >(524054))
constexpr REL::ID RTTI_NiControllerManager(static_cast< std::uint64_t >(690501))