36class AnimationComponent {
48 ::ll::TypedStorage<8, 8, void const*> mChildObjectKey;
49 ::ll::TypedStorage<8, 56, ::MolangVariableMap> mMolangVariableMap;
50 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::AnimationComponent>> mChildAnimationComponent;
57 MCAPI ::std::shared_ptr<::AnimationComponent>&
58 getAnimationComponent(
::Actor& owner, ::SubClientId subClientId, ::AttachableSlotIndex attachableIndex);
66 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ActorAnimationControllerStatePlayer>>
67 mCurrentAnimationControllerStatePlayer;
68 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::ActorAnimationPlayer>>> mComponentAnimationPlayers;
69 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::ActorAnimationControllerInfo>>>
70 mOwnedAnimationControllers;
71 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::ModelPartLocator>> mModelPartLocators;
73 ::ll::TypedStorage<8, 496, ::RenderParams> mRenderParams;
75 ::ll::TypedStorage<8, 512, ::RenderParams> mRenderParams;
77 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ActorAnimationPlayer>> mPlaySingleAnimation;
78 ::ll::TypedStorage<8, 8, void*> mModelRenderControllerCacheWasBuiltFrom;
79 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::CommonResourceDefinitionMap>> mCommonResourceDefinitionMap;
80 ::ll::TypedStorage<8, 8, ::std::unordered_map<::HashedString, ::HashedString>
const*> mParticleEffectMap;
82 ::ll::TypedStorage<8, 24, ::std::vector<::AnimationComponent::ChildAnimationComponentInfo>>
83 mChildAnimationComponents;
84 ::ll::TypedStorage<8, 64, ::std::unordered_map<::SkeletalHierarchyIndex, ::std::vector<::BoneOrientation>>>
86 ::ll::TypedStorage<1, 1, bool> mAnimationComponentInitialized;
87 ::ll::TypedStorage<4, 4, ::AnimationComponentGroupType> mAnimationComponentGroupType;
88 ::ll::TypedStorage<8, 8, ::AnimationComponentID> mOwnerUUID;
89 ::ll::TypedStorage<8, 8, int64> mLastUpdateFrame;
90 ::ll::TypedStorage<8, 8, uint64> mLastReloadInitTimeStampClient;
91 ::ll::TypedStorage<1, 1, bool> mApplyAnimations;
92 ::ll::TypedStorage<1, 1, bool> mNeedToUpdateQueryableBoneOrientations;
102 virtual ~AnimationComponent();
104 virtual ::ClientAnimationComponent* tryGetClient();
106 virtual void visitApplyContext(
111 initializeClientAnimationComponent(::std::function<
void(
::ActorAnimationPlayer&)> animationComponentInitFunction);
113 virtual void ensureClientAnimationComponentIsInitialized();
115 virtual void setDirty();
117 virtual void updateQueryableGeometryBoneOrientations();
119 virtual ::Matrix
const* getQueryableBoneOrientation(uint64 boneNameHash)
const;
121 virtual ::gsl::span<::SkeletalHierarchyIndex const> getSkeletalHierarchiesToProcess()
const;
132 MCAPI
void _addAnimationToStatePlayer(
134 ::std::shared_ptr<::ActorAnimationControllerStatePlayer> player
137 MCAPI ::RenderParams& _prepRenderParamsForActor(
::Actor& actor);
139 MCAPI
void applyAnimations(
bool setDefaultPose);
142 MCAPI ::std::shared_ptr<::ActorAnimationPlayer> createAnimationPlayer(
145 ::std::set<
::HashedString, ::std::hash<::HashedString>>& animationControllerNameStack
149 MCAPI ::std::shared_ptr<::ActorAnimationControllerStatePlayer> editGlobalAnimationData(
152 ::std::string
const& stopExpression,
153 ::MolangVersion stopExpressionVersion,
154 ::std::string
const& nextStateName,
155 ::std::string
const& runtimeController
158 MCAPI ::std::shared_ptr<::ActorAnimationPlayer> findAnimation(
::HashedString const& rawAnimationName);
160 MCAPI
void forceNextUpdateToApplyAnimations();
162 MCAPI ::std::shared_ptr<::ActorAnimationControllerPlayer>
163 getAnimationControllerPlayer(
::HashedString const& destControllerName,
bool createIfMissing);
166 MCAPI ::std::vector<::BoneOrientation>*
167 getBoneOrientations(::SkeletalHierarchyIndex skeletalHierarchyIndex,
bool missingIsOkay);
170 MCAPI ::std::weak_ptr<::CommonResourceDefinitionMap> getCommonResourceDefinitionMap();
172 MCAPI
float getRegisteredAnimationLength(::std::string
const& friendlyName)
const;
174 MCAPI
bool haveInitializedScriptsRun()
const;
179 MCAPI
void initializeServerAnimationComponent(
181 ::std::shared_ptr<::CommonResourceDefinitionMap> animationResourceDefinition,
186 MCAPI
bool isAnimationRegistered(
::HashedString const& friendlyName)
const;
188 MCAPI ::std::shared_ptr<::ActorAnimationControllerStatePlayer> playAnimation(
191 ::std::string
const& runtimeController
194 MCAPI
void setInitializedScriptsRun(
bool);
197 MCAPI
void setupDeltaTimeAndLifeTimeParams(
bool incrementLifetime);
207 MCAPI static ::std::atomic<int64>& mClientFrameIndex();
209 MCAPI static ::std::atomic<int64>& mReloadTimeStampClient();
211 MCAPI static ::std::atomic<int64>& mServerFrameIndex();
229 MCFOLD ::ClientAnimationComponent* $tryGetClient();
231 MCAPI
void $visitApplyContext(
236 $initializeClientAnimationComponent(::std::function<
void(
::ActorAnimationPlayer&)> animationComponentInitFunction);
238 MCFOLD
void $ensureClientAnimationComponentIsInitialized();
240 MCAPI
void $setDirty();
242 MCFOLD
void $updateQueryableGeometryBoneOrientations();
244 MCFOLD ::Matrix
const* $getQueryableBoneOrientation(uint64 boneNameHash)
const;
246 MCFOLD ::gsl::span<::SkeletalHierarchyIndex const> $getSkeletalHierarchiesToProcess()
const;