CommonLibVR
IAnimationGraphManagerHolder.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSFixedString.h"
4 #include "RE/B/BSTArray.h"
5 #include "RE/B/BSTSmartPointer.h"
6 
7 namespace RE
8 {
9  class BSAnimationGraphChannel;
10  class BSAnimationGraphManager;
11  class BShkbAnimationGraph;
12  class NiAVObject;
13  class NiPoint3;
14 
15  struct BSAnimationUpdateData;
16 
18  {
19  public:
20  inline static constexpr auto RTTI = RTTI_IAnimationGraphManagerHolder;
21  inline static constexpr auto VTABLE = VTABLE_IAnimationGraphManagerHolder;
22 
24 
25  // add
26  virtual bool NotifyAnimationGraph(const BSFixedString& a_eventName); // 01
29  virtual bool PopulateGraphNodesToTarget(BSScrapArray<NiAVObject*>& a_nodes); // 04 - { return false; }
31  virtual void Unk_06(void); // 06 - { return 1; }
32  virtual void Unk_07(void); // 07 - { return 1; }
33  virtual bool SetupAnimEventSinks(const BSTSmartPointer<BShkbAnimationGraph>& a_animGraph); // 08 - { return true; } - sinks the holder to the the source passed in
34  virtual void Unk_09(void); // 09 - { return; }
35  virtual bool CreateAnimationChannels(BSScrapArray<BSTSmartPointer<BSAnimationGraphChannel>>& animGraphChannels); // 0A - { return 0; }
36  virtual void PostCreateAnimationGraphManager(BSTSmartPointer<BSAnimationGraphManager>& a_animGraphMgr); // 0B - { return; }
37  virtual void Unk_0C(void); // 0C - { return; }
38  virtual void PostChangeAnimationManager(const BSTSmartPointer<BShkbAnimationGraph>& a_arg1, const BSTSmartPointer<BShkbAnimationGraph>& a_arg2); // 0D - { return; }
39  virtual void Unk_0E(void); // 0E - { return 1; }
40  [[nodiscard]] virtual std::uint32_t GetGraphVariableCacheSize() const; // 0F - { return 0; }
41  virtual bool GetGraphVariableImpl1(const BSFixedString& a_variableName, float& a_out) const; // 10
42  virtual bool GetGraphVariableImpl2(const BSFixedString& a_variableName, std::int32_t& a_out) const; // 11
43  virtual bool GetGraphVariableImpl3(const BSFixedString& a_variableName, bool& a_out) const; // 12
44 
46  bool GetGraphVariableFloat(const BSFixedString& a_variableName, float& a_out) const;
47  bool GetGraphVariableInt(const BSFixedString& a_variableName, std::int32_t& a_out) const;
48  bool GetGraphVariableBool(const BSFixedString& a_variableName, bool& a_out) const;
49  bool GetGraphVariableNiPoint3(const BSFixedString& a_variableName, NiPoint3& a_out) const;
51  bool SetGraphVariableBool(const BSFixedString& a_variableName, bool a_in);
52  bool SetGraphVariableInt(const BSFixedString& a_variableName, std::int32_t a_in);
53  bool SetGraphVariableFloat(const BSFixedString& a_variableName, float a_in);
54  bool SetGraphVariableNiPoint3(const BSFixedString& a_variableName, NiPoint3& a_in) const;
56 
57  private:
58  KEEP_FOR_RE()
59  };
60  static_assert(sizeof(IAnimationGraphManagerHolder) == 0x8);
61 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BSTArray.h:378
Definition: BSTSmartPointer.h:37
Definition: IAnimationGraphManagerHolder.h:18
bool SetGraphVariableFloat(const BSFixedString &a_variableName, float a_in)
virtual bool GetGraphVariableImpl3(const BSFixedString &a_variableName, bool &a_out) const
bool GetGraphVariableBool(const BSFixedString &a_variableName, bool &a_out) const
bool SetGraphVariableNiPoint3(const BSFixedString &a_variableName, NiPoint3 &a_in) const
static constexpr auto VTABLE
Definition: IAnimationGraphManagerHolder.h:21
virtual bool GetGraphVariableImpl2(const BSFixedString &a_variableName, std::int32_t &a_out) const
bool GetGraphVariableNiPoint3(const BSFixedString &a_variableName, NiPoint3 &a_out) const
bool SetGraphVariableBool(const BSFixedString &a_variableName, bool a_in)
virtual bool GetAnimationGraphManagerImpl(BSTSmartPointer< BSAnimationGraphManager > &a_out) const =0
bool UpdateAnimationGraphManager(const BSAnimationUpdateData &a_updateData)
virtual bool SetAnimationGraphManagerImpl(BSTSmartPointer< BSAnimationGraphManager > &a_in)=0
virtual bool NotifyAnimationGraph(const BSFixedString &a_eventName)
bool SetGraphVariableInt(const BSFixedString &a_variableName, std::int32_t a_in)
virtual bool GetGraphVariableImpl1(const BSFixedString &a_variableName, float &a_out) const
bool SetAnimationGraphManager(BSTSmartPointer< BSAnimationGraphManager > &a_in)
virtual bool CreateAnimationChannels(BSScrapArray< BSTSmartPointer< BSAnimationGraphChannel >> &animGraphChannels)
bool GetGraphVariableInt(const BSFixedString &a_variableName, std::int32_t &a_out) const
virtual bool PopulateGraphNodesToTarget(BSScrapArray< NiAVObject * > &a_nodes)
virtual void PostChangeAnimationManager(const BSTSmartPointer< BShkbAnimationGraph > &a_arg1, const BSTSmartPointer< BShkbAnimationGraph > &a_arg2)
virtual bool SetupAnimEventSinks(const BSTSmartPointer< BShkbAnimationGraph > &a_animGraph)
virtual void PostCreateAnimationGraphManager(BSTSmartPointer< BSAnimationGraphManager > &a_animGraphMgr)
bool GetAnimationGraphManager(BSTSmartPointer< BSAnimationGraphManager > &a_out) const
bool GetGraphVariableFloat(const BSFixedString &a_variableName, float &a_out) const
virtual std::uint32_t GetGraphVariableCacheSize() const
virtual bool ConstructAnimationGraph(BSTSmartPointer< BShkbAnimationGraph > &a_out)=0
static constexpr auto RTTI
Definition: IAnimationGraphManagerHolder.h:20
Definition: NiPoint3.h:6
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_IAnimationGraphManagerHolder
Definition: Offsets_VTABLE.h:11760
constexpr REL::ID RTTI_IAnimationGraphManagerHolder(static_cast< std::uint64_t >(685175))
Definition: BSAnimationUpdateData.h:10