38class AnimationComponent {
50 ::ll::TypedStorage<8, 8, void const*> mChildObjectKey;
51 ::ll::TypedStorage<8, 56, ::MolangVariableMap> mMolangVariableMap;
52 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::AnimationComponent>> mChildAnimationComponent;
59 MCAPI ::std::shared_ptr<::AnimationComponent>&
60 getAnimationComponent(
::Actor& owner, ::SubClientId subClientId, ::AttachableSlotIndex attachableIndex);
68 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ActorAnimationControllerStatePlayer>>
69 mCurrentAnimationControllerStatePlayer;
70 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::ActorAnimationPlayer>>> mComponentAnimationPlayers;
71 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::ActorAnimationControllerInfo>>>
72 mOwnedAnimationControllers;
73 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::ModelPartLocator>> mModelPartLocators;
75 ::ll::TypedStorage<8, 504, ::RenderParams> mRenderParams;
77 ::ll::TypedStorage<8, 520, ::RenderParams> mRenderParams;
79 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ActorAnimationPlayer>> mPlaySingleAnimation;
80 ::ll::TypedStorage<8, 8, void*> mModelRenderControllerCacheWasBuiltFrom;
81 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::CommonResourceDefinitionMap>> mCommonResourceDefinitionMap;
82 ::ll::TypedStorage<8, 8, ::std::unordered_map<::HashedString, ::HashedString>
const*> mParticleEffectMap;
84 ::ll::TypedStorage<8, 24, ::std::vector<::AnimationComponent::ChildAnimationComponentInfo>>
85 mChildAnimationComponents;
86 ::ll::TypedStorage<8, 64, ::std::unordered_map<::SkeletalHierarchyIndex, ::std::vector<::BoneOrientation>>>
88 ::ll::TypedStorage<1, 1, bool> mAnimationComponentInitialized;
89 ::ll::TypedStorage<4, 4, ::AnimationComponentGroupType> mAnimationComponentGroupType;
90 ::ll::TypedStorage<8, 8, ::AnimationComponentID> mOwnerUUID;
91 ::ll::TypedStorage<8, 8, int64> mLastUpdateFrame;
92 ::ll::TypedStorage<8, 8, uint64> mLastReloadInitTimeStampClient;
93 ::ll::TypedStorage<1, 1, bool> mApplyAnimations;
94 ::ll::TypedStorage<1, 1, bool> mNeedToUpdateQueryableBoneOrientations;
101 AnimationComponent();
107 virtual ~AnimationComponent();
109 virtual ::ClientAnimationComponent* tryGetClient();
111 virtual void visitApplyContext(
119 initializeClientAnimationComponent(::std::function<
void(
::ActorAnimationPlayer&)> animationComponentInitFunction);
122 virtual void ensureClientAnimationComponentIsInitialized();
124 virtual void setDirty();
126 virtual void updateQueryableGeometryBoneOrientations();
129 virtual ::Matrix
const* getQueryableBoneOrientation(uint64)
const;
131 virtual ::Matrix
const* getQueryableBoneOrientation(uint64 boneNameHash)
const;
134 virtual ::gsl::span<::SkeletalHierarchyIndex const> getSkeletalHierarchiesToProcess()
const;
150 MCAPI
void _addAnimationToStatePlayer(
152 ::std::shared_ptr<::ActorAnimationControllerStatePlayer> player
156 MCAPI ::RenderParams& _prepRenderParamsForActor(
::Actor& actor);
158 MCAPI ::std::shared_ptr<::ActorAnimationPlayer> createAnimationPlayer(
161 ::std::set<::HashedString, ::Util::HashStringHashGreater>& animationControllerNameStack
165 MCAPI ::std::shared_ptr<::ActorAnimationControllerStatePlayer> editGlobalAnimationData(
168 ::std::string
const& stopExpression,
169 ::MolangVersion stopExpressionVersion,
170 ::std::string
const& nextStateName,
171 ::std::string
const& runtimeController
174 MCAPI ::std::shared_ptr<::ActorAnimationPlayer> findAnimation(
::HashedString const& rawAnimationName);
176 MCAPI ::std::shared_ptr<::ActorAnimationControllerPlayer>
177 getAnimationControllerPlayer(
::HashedString const& destControllerName,
bool createIfMissing);
179 MCAPI ::ModelPartLocator* getLocator(
::HashedString const& locatorNameHash);
181 MCAPI
float getRegisteredAnimationLength(::std::string
const& friendlyName)
const;
186 MCAPI
void initializeServerAnimationComponent(
188 ::std::shared_ptr<::CommonResourceDefinitionMap> animationResourceDefinition,
193 MCAPI
bool isAnimationRegistered(
::HashedString const& friendlyName)
const;
195 MCAPI ::std::shared_ptr<::ActorAnimationControllerStatePlayer> playAnimation(
198 ::std::string
const& runtimeController
202 MCAPI
void serverUpdate(
::Actor& actor);
205 MCAPI
void setInitializedScriptsRun(
bool);
207 MCAPI
void setupDeltaTimeAndLifeTimeParams(
bool incrementLifetime);
217 MCAPI static ::ApplyAnimationCache createBase(
::Actor const* actor);
224 MCAPI static ::std::atomic<int64>& mClientFrameIndex();
226 MCAPI static ::std::atomic<int64>& mReloadTimeStampClient();
228 MCAPI static ::std::atomic<int64>& mServerFrameIndex();
248 MCFOLD ::ClientAnimationComponent* $tryGetClient();
250 MCAPI
void $visitApplyContext(
258 $initializeClientAnimationComponent(::std::function<
void(
::ActorAnimationPlayer&)> animationComponentInitFunction);
261 MCFOLD
void $ensureClientAnimationComponentIsInitialized();
263 MCAPI
void $setDirty();
265 MCFOLD
void $updateQueryableGeometryBoneOrientations();
268 MCFOLD ::Matrix
const* $getQueryableBoneOrientation(uint64)
const;
270 MCFOLD ::Matrix
const* $getQueryableBoneOrientation(uint64 boneNameHash)
const;
273 MCFOLD ::gsl::span<::SkeletalHierarchyIndex const> $getSkeletalHierarchiesToProcess()
const;