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;
56 MCAPI_C ::std::shared_ptr<::AnimationComponent>&
57 getAnimationComponent(
::Actor& owner, ::SubClientId subClientId, ::AttachableSlotIndex attachableIndex);
64 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ActorAnimationControllerStatePlayer>>
65 mCurrentAnimationControllerStatePlayer;
66 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::ActorAnimationPlayer>>> mComponentAnimationPlayers;
67 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::ActorAnimationControllerInfo>>>
68 mOwnedAnimationControllers;
69 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::ModelPartLocator>> mModelPartLocators;
71 ::ll::TypedStorage<8, 496, ::RenderParams> mRenderParams;
73 ::ll::TypedStorage<8, 512, ::RenderParams> mRenderParams;
75 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ActorAnimationPlayer>> mPlaySingleAnimation;
76 ::ll::TypedStorage<8, 8, void*> mModelRenderControllerCacheWasBuiltFrom;
77 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::CommonResourceDefinitionMap>> mCommonResourceDefinitionMap;
78 ::ll::TypedStorage<8, 8, ::std::unordered_map<::HashedString, ::HashedString>
const*> mParticleEffectMap;
80 ::ll::TypedStorage<8, 24, ::std::vector<::AnimationComponent::ChildAnimationComponentInfo>>
81 mChildAnimationComponents;
82 ::ll::TypedStorage<8, 64, ::std::unordered_map<::SkeletalHierarchyIndex, ::std::vector<::BoneOrientation>>>
84 ::ll::TypedStorage<1, 1, bool> mAnimationComponentInitialized;
85 ::ll::TypedStorage<4, 4, ::AnimationComponentGroupType> mAnimationComponentGroupType;
86 ::ll::TypedStorage<8, 8, ::AnimationComponentID> mOwnerUUID;
87 ::ll::TypedStorage<8, 8, int64> mLastUpdateFrame;
88 ::ll::TypedStorage<8, 8, uint64> mLastReloadInitTimeStampClient;
90 ::ll::TypedStorage<8, 24, ::std::vector<::RenderControllerToProcess>> mRenderControllersToProcess;
91 ::ll::TypedStorage<8, 24, ::std::vector<::SkeletalHierarchyIndex>> mSkeletalHierarchiesToProcess;
92 ::ll::TypedStorage<8, 24, ::std::vector<::Matrix>> mQueryableBoneOrientations;
93 ::ll::TypedStorage<1, 1, bool> mAreRenderControllersConstant;
95 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::DataDrivenModel const>> mLastModelInitializedWith;
96 ::ll::TypedStorage<1, 1, bool> mApplyAnimations;
97 ::ll::TypedStorage<1, 1, bool> mNeedToUpdateQueryableBoneOrientations;
102 AnimationComponent();
107 virtual ~AnimationComponent();
109 virtual ::ClientAnimationComponent* tryGetClient();
117 MCAPI_C
void _addAnimationToStatePlayer(
119 ::std::shared_ptr<::ActorAnimationControllerStatePlayer> player
122 MCAPI_C ::RenderParams& _prepRenderParamsForActor(
::Actor& actor);
124 MCAPI
void applyAnimations(
bool setDefaultPose);
126 MCAPI_C
bool attemptToSetParentBoneMapping(
127 ::AnimationComponent& parentAnimationComponent,
131 MCAPI ::std::shared_ptr<::ActorAnimationPlayer> createAnimationPlayer(
134 ::std::set<
::HashedString, ::std::hash<::HashedString>>& animationControllerNameStack
137 MCAPI_C ::std::shared_ptr<::ActorAnimationControllerStatePlayer> editGlobalAnimationData(
140 ::std::string
const& stopExpression,
141 ::MolangVersion stopExpressionVersion,
142 ::std::string
const& nextStateName,
143 ::std::string
const& runtimeController
146 MCAPI_C
void ensureClientAnimationComponentIsInitialized();
148 MCAPI_C ::std::shared_ptr<::ActorAnimationPlayer> findAnimation(
::HashedString const& rawAnimationName);
150 MCAPI_C
void forceNextUpdateToApplyAnimations();
152 MCAPI_C ::std::shared_ptr<::ActorAnimationControllerPlayer>
153 getAnimationControllerPlayer(
::HashedString const& destControllerName,
bool createIfMissing);
155 MCAPI_C ::std::vector<::BoneOrientation>& getBoneOrientations(
::DataDrivenGeometry const& sourceGeo);
157 MCAPI ::std::vector<::BoneOrientation>*
158 getBoneOrientations(::SkeletalHierarchyIndex skeletalHierarchyIndex,
bool missingIsOkay);
160 MCAPI_C ::ModelPartLocator* getLocator(
::HashedString const& locatorNameHash);
162 MCAPI_C ::Matrix
const* getQueryableBoneOrientation(uint64 boneNameHash)
const;
164 MCAPI_C
float getRegisteredAnimationLength(::std::string
const& friendlyName)
const;
166 MCAPI_C
bool haveInitializedScriptsRun()
const;
171 initializeClientAnimationComponent(::std::function<
void(
::ActorAnimationPlayer&)> animationComponentInitFunction);
173 MCAPI
void initializeServerAnimationComponent(
175 ::std::shared_ptr<::CommonResourceDefinitionMap> animationResourceDefinition,
179 MCAPI_C
bool isAnimationRegistered(
::HashedString const& friendlyName)
const;
181 MCAPI_C ::std::shared_ptr<::ActorAnimationControllerStatePlayer> playAnimation(
184 ::std::string
const& runtimeController
187 MCAPI
void setDirty();
189 MCAPI_C
void setInitializedScriptsRun(
bool);
191 MCAPI_C
void setupDeltaTimeAndLifeTimeParams(
bool incrementLifetime);
195 MCAPI_C
void updateQueryableGeometryBoneOrientations();
197 MCAPI_C
void updateRenderControllersToProcess(
198 ::std::shared_ptr<::DataDrivenModel> itemModel,
206 MCAPI static ::std::atomic<int64>& mClientFrameIndex();
208 MCAPI static ::std::atomic<int64>& mReloadTimeStampClient();
210 MCAPI static ::std::atomic<int64>& mServerFrameIndex();
228 MCFOLD ::ClientAnimationComponent* $tryGetClient();