Skip to content
LeviMC
English
AutoLightDark
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 virtual ~ActorAnimationPlayer() = default;
34
35#ifdef LL_PLAT_S
36 virtual void applyToPose(
37 ::ApplyAnimationContext const& applyContext,
38 ::RenderParams& renderParams,
39 ::std::unordered_map<::SkeletalHierarchyIndex, ::std::vector<::BoneOrientation>>& destBoneOrientationsMap,
40 float blendWeight
41 ) = 0;
42#else // LL_PLAT_C
43 virtual void applyToPose(
44 ::ApplyAnimationContext const& applyContext,
45 ::RenderParams& renderParams,
46 ::std::unordered_map<::SkeletalHierarchyIndex, ::std::vector<::BoneOrientation>>& destBoneOrientationMap,
47 float blendWeight
48 ) = 0;
49#endif
50
51 virtual void resetAnimation() = 0;
52
53 virtual void buildBoneToPartMapping(::AnimationComponent& animationComponent);
54
55 virtual void
56 bindParticleEffects(::std::unordered_map<::HashedString, ::HashedString> const& actorParticleEffectMap);
57
58 virtual void bindSoundEffects(::std::unordered_map<::HashedString, ::std::string> const& actorSoundEffectMap);
59
60 virtual bool hasAnimationFinished() const = 0;
61
62 virtual ::std::shared_ptr<::ActorAnimationPlayer> findAnimation(::HashedString const& friendlyName) = 0;
63
64 virtual ::ActorAnimationType getAnimationType() const = 0;
65
66 virtual ::HashedString const& getRawName() const = 0;
67
68 virtual void visit(::AnimationVisitor&& dispatcher);
69 // NOLINTEND
70
71public:
72 // virtual function thunks
73 // NOLINTBEGIN
74 MCNAPI void $buildBoneToPartMapping(::AnimationComponent& animationComponent);
75
76 MCNAPI void
77 $bindParticleEffects(::std::unordered_map<::HashedString, ::HashedString> const& actorParticleEffectMap);
78
79 MCNAPI void $bindSoundEffects(::std::unordered_map<::HashedString, ::std::string> const& actorSoundEffectMap);
80
81 MCNAPI void $visit(::AnimationVisitor&& dispatcher);
82
83
84 // NOLINTEND
85};
Definition ActorAnimationPlayer.h:20
MCAPI void $bindSoundEffects(::std::unordered_map<::HashedString, ::std::string > const &actorSoundEffectMap)
MCAPI void $bindParticleEffects(::std::unordered_map<::HashedString, ::HashedString > const &actorParticleEffectMap)
MCAPI void $visit(::AnimationVisitor &&dispatcher)
MCAPI void $buildBoneToPartMapping(::AnimationComponent &animationComponent)
Definition AnimationComponent.h:38
Definition ApplyAnimationContext.h:16
Definition BoneOrientation.h:16
Definition HashedString.h:5
Definition RenderParams.h:29
Definition AnimationVisitor.h:16