LeviLamina
Loading...
Searching...
No Matches
ActorAnimationPlayer.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/util/molang/ExpressionNode.h"
8#include "mc/world/actor/SkeletalHierarchyIndex.h"
9#include "mc/world/actor/animation/ActorAnimationType.h"
10
11// auto generated forward declare list
12// clang-format off
15class BoneOrientation;
16class RenderParams;
17struct AnimationVisitor;
18// clang-format on
19
21public:
22 // member variables
23 // NOLINTBEGIN
24 ::ll::TypedStorage<8, 48, ::HashedString const> mFriendlyName;
25 ::ll::TypedStorage<8, 16, ::ExpressionNode const> mBlendExpression;
26 ::ll::TypedStorage<1, 1, bool> mExpanded;
27 ::ll::TypedStorage<1, 1, bool> mAnimationFinished;
28 // NOLINTEND
29
30public:
31 // virtual functions
32 // NOLINTBEGIN
33#ifdef LL_PLAT_S
34 virtual ~ActorAnimationPlayer() = default;
35#else // LL_PLAT_C
36 virtual ~ActorAnimationPlayer();
37#endif
38
39#ifdef LL_PLAT_S
40 virtual void applyToPose(
41 ::ApplyAnimationContext const& applyContext,
42 ::RenderParams& renderParams,
43 ::std::unordered_map<::SkeletalHierarchyIndex, ::std::vector<::BoneOrientation>>& destBoneOrientationsMap,
44 float blendWeight
45 ) = 0;
46#else // LL_PLAT_C
47 virtual void applyToPose(
48 ::ApplyAnimationContext const& applyContext,
49 ::RenderParams& renderParams,
50 ::std::unordered_map<::SkeletalHierarchyIndex, ::std::vector<::BoneOrientation>>& destBoneOrientationMap,
51 float blendWeight
52 ) = 0;
53#endif
54
55 virtual void resetAnimation() = 0;
56
57 virtual void buildBoneToPartMapping(::AnimationComponent& animationComponent);
58
59 virtual void
60 bindParticleEffects(::std::unordered_map<::HashedString, ::HashedString> const& actorParticleEffectMap);
61
62 virtual void bindSoundEffects(::std::unordered_map<::HashedString, ::std::string> const& actorSoundEffectMap);
63
64 virtual bool hasAnimationFinished() const = 0;
65
66 virtual ::std::shared_ptr<::ActorAnimationPlayer> findAnimation(::HashedString const& friendlyName) = 0;
67
68 virtual ::ActorAnimationType getAnimationType() const = 0;
69
70 virtual ::HashedString const& getRawName() const = 0;
71
72 virtual void visit(::AnimationVisitor&& dispatcher);
73 // NOLINTEND
74
75public:
76 // destructor thunk
77 // NOLINTBEGIN
78#ifdef LL_PLAT_C
79 MCAPI void $dtor();
80#endif
81 // NOLINTEND
82
83public:
84 // virtual function thunks
85 // NOLINTBEGIN
86 MCFOLD void $buildBoneToPartMapping(::AnimationComponent& animationComponent);
87
88 MCFOLD void
89 $bindParticleEffects(::std::unordered_map<::HashedString, ::HashedString> const& actorParticleEffectMap);
90
91 MCFOLD void $bindSoundEffects(::std::unordered_map<::HashedString, ::std::string> const& actorSoundEffectMap);
92
93#ifdef LL_PLAT_S
94 MCAPI void $visit(::AnimationVisitor&& dispatcher);
95#else // LL_PLAT_C
96 MCFOLD void $visit(::AnimationVisitor&& dispatcher);
97#endif
98
99
100 // NOLINTEND
101
102public:
103 // vftables
104 // NOLINTBEGIN
105 MCNAPI static void** $vftable();
106 // NOLINTEND
107};
Definition ActorAnimationPlayer.h:20
static MCAPI void ** $vftable()
Definition AnimationComponent.h:38
Definition ApplyAnimationContext.h:16
Definition BoneOrientation.h:16
Definition HashedString.h:5
Definition RenderParams.h:29
Definition AnimationVisitor.h:16