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