Skip to content
LeviMC
English
AutoLightDark
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
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 MCNAPI ::std::shared_ptr<::ActorAnimationControllerStatePlayer>
87 getStatePlayer(::HashedString const& stateName, ::AnimationComponent& animationComponent, bool createIfMissing);
88#endif
89 // NOLINTEND
90
91public:
92 // static functions
93 // NOLINTBEGIN
94 MCNAPI static void blendViaShortestPath(
95 ::std::unordered_map<::SkeletalHierarchyIndex, ::std::vector<::BoneOrientation>>& destBoneOrientationsMap,
96 ::std::unordered_map<::SkeletalHierarchyIndex, ::std::vector<::BoneOrientation>> const&
97 blendOutBoneOrientationsMap,
98 ::std::unordered_map<::SkeletalHierarchyIndex, ::std::vector<::BoneOrientation>> const&
99 blendInBoneOrientationsMap,
100 float blendInWeight,
101 float blendWeight
102 );
103 // NOLINTEND
104
105public:
106 // constructor thunks
107 // NOLINTBEGIN
108 MCNAPI void* $ctor(
109 ::HashedString const& friendlyName,
110 ::ActorAnimationControllerPtr const& animationControllerPtr,
111 ::AnimationComponent& animationComponent,
112 ::ExpressionNode const& blendExpression,
113 ::std::set<::HashedString, ::Util::HashStringHashGreater>& animationControllerNameStack
114 );
115 // NOLINTEND
116
117public:
118 // virtual function thunks
119 // NOLINTBEGIN
120 MCNAPI void $applyToPose(
121 ::ApplyAnimationContext const& applyContext,
122 ::RenderParams& renderParams,
123 ::std::unordered_map<::SkeletalHierarchyIndex, ::std::vector<::BoneOrientation>>& destBoneOrientationsMap,
124 float blendWeight
125 );
126
127 MCNAPI void $resetAnimation();
128
129 MCNAPI void
130 $bindParticleEffects(::std::unordered_map<::HashedString, ::HashedString> const& actorParticleEffectMap);
131
132 MCNAPI void $bindSoundEffects(::std::unordered_map<::HashedString, ::std::string> const& actorSoundEffectMap);
133
134 MCNAPI bool $hasAnimationFinished() const;
135
136 MCNAPI ::std::shared_ptr<::ActorAnimationPlayer> $findAnimation(::HashedString const& friendlyName);
137
138 MCNAPI ::ActorAnimationType $getAnimationType() const;
139
140 MCNAPI ::HashedString const& $getRawName() const;
141
142 MCNAPI void $visit(::AnimationVisitor&& dispatcher);
143
144
145 // NOLINTEND
146};
MCAPI ::std::shared_ptr<::ActorAnimationPlayer > $findAnimation(::HashedString const &friendlyName)
MCAPI void $bindParticleEffects(::std::unordered_map<::HashedString, ::HashedString > const &actorParticleEffectMap)
MCAPI::HashedString const & $getRawName() const
MCAPI void * $ctor(::HashedString const &friendlyName, ::ActorAnimationControllerPtr const &animationControllerPtr, ::AnimationComponent &animationComponent, ::ExpressionNode const &blendExpression, ::std::set<::HashedString, ::Util::HashStringHashGreater > &animationControllerNameStack)
MCAPI::ActorAnimationType $getAnimationType() const
static MCAPI void blendViaShortestPath(::std::unordered_map<::SkeletalHierarchyIndex, ::std::vector<::BoneOrientation > > &destBoneOrientationsMap, ::std::unordered_map<::SkeletalHierarchyIndex, ::std::vector<::BoneOrientation > > const &blendOutBoneOrientationsMap, ::std::unordered_map<::SkeletalHierarchyIndex, ::std::vector<::BoneOrientation > > const &blendInBoneOrientationsMap, float blendInWeight, float blendWeight)
MCAPI void $visit(::AnimationVisitor &&dispatcher)
MCAPI ActorAnimationControllerPlayer(::HashedString const &friendlyName, ::ActorAnimationControllerPtr const &animationControllerPtr, ::AnimationComponent &animationComponent, ::ExpressionNode const &blendExpression, ::std::set<::HashedString, ::Util::HashStringHashGreater > &animationControllerNameStack)
MCAPI void $bindSoundEffects(::std::unordered_map<::HashedString, ::std::string > const &actorSoundEffectMap)
MCAPI bool $hasAnimationFinished() const
MCAPI void $applyToPose(::ApplyAnimationContext const &applyContext, ::RenderParams &renderParams, ::std::unordered_map<::SkeletalHierarchyIndex, ::std::vector<::BoneOrientation > > &destBoneOrientationsMap, float blendWeight)
Definition ActorAnimationControllerPtr.h:12
Definition ActorAnimationControllerStatePlayer.h:24
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