LeviLamina
Loading...
Searching...
No Matches
ActorAnimationControllerPlayer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/string/HashedString.h"
7#include "mc/world/actor/SkeletalHierarchyIndex.h"
8#include "mc/world/actor/animation/ActorAnimationControllerPtr.h"
9#include "mc/world/actor/animation/ActorAnimationPlayer.h"
10#include "mc/world/actor/animation/ActorAnimationType.h"
11
12// auto generated forward declare list
13// clang-format off
17class BoneOrientation;
18class ExpressionNode;
19class RenderParams;
20struct AnimationVisitor;
21// clang-format on
22
23class ActorAnimationControllerPlayer : public ::ActorAnimationPlayer {
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<8, 16, ::ActorAnimationControllerPtr> mAnimationControllerPtr;
28 ::ll::TypedStorage<4, 4, int> mCurrStateIndex;
29 ::ll::TypedStorage<4, 4, int> mLastStateIndex;
30 ::ll::TypedStorage<4, 4, int> mNextStateIndex;
31 ::ll::TypedStorage<4, 4, int> mBlendTransitionStateIndex;
32 ::ll::TypedStorage<4, 4, float> mBlendTransitionTime;
33 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::ActorAnimationControllerStatePlayer>>>
34 mAnimationControllerStatePlayers;
35 ::ll::TypedStorage<8, 8, ::std::unordered_map<::HashedString, ::HashedString> const*> mActorParticleEffectMap;
36 ::ll::TypedStorage<8, 8, ::std::unordered_map<::HashedString, ::std::string> const*> mActorSoundEffectMap;
37 // NOLINTEND
38
39public:
40 // prevent constructor by default
41 ActorAnimationControllerPlayer();
42
43public:
44 // virtual functions
45 // NOLINTBEGIN
46 virtual void applyToPose(
47 ::ApplyAnimationContext const& applyContext,
48 ::RenderParams& renderParams,
49 ::std::unordered_map<::SkeletalHierarchyIndex, ::std::vector<::BoneOrientation>>& destBoneOrientationsMap,
50 float blendWeight
51 ) /*override*/;
52
53 virtual void resetAnimation() /*override*/;
54
55 virtual void bindParticleEffects(
56 ::std::unordered_map<::HashedString, ::HashedString> const& actorParticleEffectMap
57 ) /*override*/;
58
59 virtual void
60 bindSoundEffects(::std::unordered_map<::HashedString, ::std::string> const& actorSoundEffectMap) /*override*/;
61
62 virtual bool hasAnimationFinished() const /*override*/;
63
64 virtual ::std::shared_ptr<::ActorAnimationPlayer> findAnimation(::HashedString const& friendlyName) /*override*/;
65
66 virtual ::ActorAnimationType getAnimationType() const /*override*/;
67
68 virtual ::HashedString const& getRawName() const /*override*/;
69
70 virtual void visit(::AnimationVisitor&& dispatcher) /*override*/;
71
72 virtual ~ActorAnimationControllerPlayer() /*override*/ = default;
73 // NOLINTEND
74
75public:
76 // member functions
77 // NOLINTBEGIN
78 MCAPI ActorAnimationControllerPlayer(
79 ::HashedString const& friendlyName,
80 ::ActorAnimationControllerPtr const& animationControllerPtr,
81 ::AnimationComponent& animationComponent,
82 ::ExpressionNode const& blendExpression,
83 ::std::set<::HashedString, ::std::hash<::HashedString>>& animationControllerNameStack
84 );
85
86 MCAPI void applyStateAnimationToPose(
87 ::ApplyAnimationContext const& applyContext,
88 ::RenderParams& renderParams,
89 ::std::unordered_map<::SkeletalHierarchyIndex, ::std::vector<::BoneOrientation>>& destBoneOrientationsMap,
90 float blendWeight
91 );
92
93 MCAPI void blendViaShortestPath(
94 ::std::unordered_map<::SkeletalHierarchyIndex, ::std::vector<::BoneOrientation>>& destBoneOrientationsMap,
95 ::std::unordered_map<::SkeletalHierarchyIndex, ::std::vector<::BoneOrientation>> const&
96 blendOutBoneOrientationsMap,
97 ::std::unordered_map<::SkeletalHierarchyIndex, ::std::vector<::BoneOrientation>> const&
98 blendInBoneOrientationsMap,
99 float blendInWeight,
100 float blendWeight
101 );
102
103#ifdef LL_PLAT_C
104 MCAPI ::std::shared_ptr<::ActorAnimationControllerStatePlayer>
105 getStatePlayer(::HashedString const& stateName, ::AnimationComponent& animationComponent, bool createIfMissing);
106#endif
107 // NOLINTEND
108
109public:
110 // constructor thunks
111 // NOLINTBEGIN
112 MCAPI void* $ctor(
113 ::HashedString const& friendlyName,
114 ::ActorAnimationControllerPtr const& animationControllerPtr,
115 ::AnimationComponent& animationComponent,
116 ::ExpressionNode const& blendExpression,
117 ::std::set<::HashedString, ::std::hash<::HashedString>>& animationControllerNameStack
118 );
119 // NOLINTEND
120
121public:
122 // virtual function thunks
123 // NOLINTBEGIN
124 MCAPI void $applyToPose(
125 ::ApplyAnimationContext const& applyContext,
126 ::RenderParams& renderParams,
127 ::std::unordered_map<::SkeletalHierarchyIndex, ::std::vector<::BoneOrientation>>& destBoneOrientationsMap,
128 float blendWeight
129 );
130
131 MCAPI void $resetAnimation();
132
133 MCAPI void $bindParticleEffects(::std::unordered_map<::HashedString, ::HashedString> const& actorParticleEffectMap);
134
135 MCAPI void $bindSoundEffects(::std::unordered_map<::HashedString, ::std::string> const& actorSoundEffectMap);
136
137 MCAPI bool $hasAnimationFinished() const;
138
139 MCAPI ::std::shared_ptr<::ActorAnimationPlayer> $findAnimation(::HashedString const& friendlyName);
140
141 MCFOLD ::ActorAnimationType $getAnimationType() const;
142
143 MCAPI ::HashedString const& $getRawName() const;
144
145 MCAPI void $visit(::AnimationVisitor&& dispatcher);
146
147
148 // NOLINTEND
149
150public:
151 // vftables
152 // NOLINTBEGIN
153 MCNAPI static void** $vftable();
154 // NOLINTEND
155};
static MCAPI void ** $vftable()
Definition ActorAnimationControllerPtr.h:10
Definition ActorAnimationControllerStatePlayer.h:24
Definition AnimationComponent.h:36
Definition ApplyAnimationContext.h:16
Definition BoneOrientation.h:19
Definition ExpressionNode.h:34
Definition HashedString.h:5
Definition RenderParams.h:30
Definition AnimationVisitor.h:16