37class AnimationComponent {
49 ::ll::TypedStorage<8, 8, void const*> mChildObjectKey;
50 ::ll::TypedStorage<8, 56, ::MolangVariableMap> mMolangVariableMap;
51 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::AnimationComponent>> mChildAnimationComponent;
58 MCAPI ::std::shared_ptr<::AnimationComponent>&
59 getAnimationComponent(
::Actor& owner, ::SubClientId subClientId, ::AttachableSlotIndex attachableIndex);
67 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ActorAnimationControllerStatePlayer>>
68 mCurrentAnimationControllerStatePlayer;
69 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::ActorAnimationPlayer>>> mComponentAnimationPlayers;
70 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::ActorAnimationControllerInfo>>>
71 mOwnedAnimationControllers;
72 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::ModelPartLocator>> mModelPartLocators;
74 ::ll::TypedStorage<8, 496, ::RenderParams> mRenderParams;
76 ::ll::TypedStorage<8, 512, ::RenderParams> mRenderParams;
78 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ActorAnimationPlayer>> mPlaySingleAnimation;
79 ::ll::TypedStorage<8, 8, void*> mModelRenderControllerCacheWasBuiltFrom;
80 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::CommonResourceDefinitionMap>> mCommonResourceDefinitionMap;
81 ::ll::TypedStorage<8, 8, ::std::unordered_map<::HashedString, ::HashedString>
const*> mParticleEffectMap;
83 ::ll::TypedStorage<8, 24, ::std::vector<::AnimationComponent::ChildAnimationComponentInfo>>
84 mChildAnimationComponents;
85 ::ll::TypedStorage<8, 64, ::std::unordered_map<::SkeletalHierarchyIndex, ::std::vector<::BoneOrientation>>>
87 ::ll::TypedStorage<1, 1, bool> mAnimationComponentInitialized;
88 ::ll::TypedStorage<4, 4, ::AnimationComponentGroupType> mAnimationComponentGroupType;
89 ::ll::TypedStorage<8, 8, ::AnimationComponentID> mOwnerUUID;
90 ::ll::TypedStorage<8, 8, int64> mLastUpdateFrame;
91 ::ll::TypedStorage<8, 8, uint64> mLastReloadInitTimeStampClient;
92 ::ll::TypedStorage<1, 1, bool> mApplyAnimations;
93 ::ll::TypedStorage<1, 1, bool> mNeedToUpdateQueryableBoneOrientations;
103 virtual ~AnimationComponent();
105 virtual ::ClientAnimationComponent* tryGetClient();
107 virtual void visitApplyContext(
115 initializeClientAnimationComponent(::std::function<
void(
::ActorAnimationPlayer&)> animationComponentInitFunction);
118 virtual void ensureClientAnimationComponentIsInitialized();
120 virtual void setDirty();
122 virtual void updateQueryableGeometryBoneOrientations();
124 virtual ::Matrix
const* getQueryableBoneOrientation(uint64 boneNameHash)
const;
126 virtual ::gsl::span<::SkeletalHierarchyIndex const> getSkeletalHierarchiesToProcess()
const;
137 MCAPI
void _addAnimationToStatePlayer(
139 ::std::shared_ptr<::ActorAnimationControllerStatePlayer> player
143 MCAPI ::RenderParams& _prepRenderParamsForActor(
::Actor& actor);
146 MCAPI
void applyAnimations(
bool setDefaultPose);
149 MCAPI ::std::shared_ptr<::ActorAnimationPlayer> createAnimationPlayer(
152 ::std::set<
::HashedString, ::std::hash<::HashedString>>& animationControllerNameStack
156 MCAPI ::std::shared_ptr<::ActorAnimationControllerStatePlayer> editGlobalAnimationData(
159 ::std::string
const& stopExpression,
160 ::MolangVersion stopExpressionVersion,
161 ::std::string
const& nextStateName,
162 ::std::string
const& runtimeController
165 MCAPI ::std::shared_ptr<::ActorAnimationPlayer> findAnimation(
::HashedString const& rawAnimationName);
167 MCAPI
void forceNextUpdateToApplyAnimations();
170 MCFOLD ::std::unordered_map<::SkeletalHierarchyIndex, ::std::vector<::BoneOrientation>>& getAllBoneOrientations();
173 MCAPI ::AnimationComponentGroupType getAnimationComponentType()
const;
175 MCAPI ::std::shared_ptr<::ActorAnimationControllerPlayer>
176 getAnimationControllerPlayer(
::HashedString const& destControllerName,
bool createIfMissing);
179 MCAPI ::std::vector<::BoneOrientation>*
180 getBoneOrientations(::SkeletalHierarchyIndex skeletalHierarchyIndex,
bool missingIsOkay);
183 MCFOLD ::std::vector<::AnimationComponent::ChildAnimationComponentInfo>& getChildAnimationComponents();
185 MCAPI ::std::weak_ptr<::CommonResourceDefinitionMap> getCommonResourceDefinitionMap();
188 MCFOLD ::std::shared_ptr<::ActorAnimationControllerStatePlayer>
const
189 getCurrentAnimationControllerStatePlayer()
const;
192 MCAPI ::ModelPartLocator* getLocator(
::HashedString const& locatorNameHash);
195 MCAPI ::ModelPartLocator* getLocator(uint64
const& locatorNameHash);
198 MCFOLD ::std::unordered_map<::HashedString, ::ModelPartLocator>& getLocators();
200 MCAPI
float getRegisteredAnimationLength(::std::string
const& friendlyName)
const;
203 MCFOLD ::RenderParams& getRenderParams();
206 MCAPI
bool haveInitializedScriptsRun()
const;
211 MCAPI
void initializeServerAnimationComponent(
213 ::std::shared_ptr<::CommonResourceDefinitionMap> animationResourceDefinition,
218 MCAPI
bool isAnimationRegistered(
::HashedString const& friendlyName)
const;
221 MCAPI
bool isInitialized()
const;
224 MCAPI ::std::shared_ptr<::ActorAnimationControllerStatePlayer> playAnimation(
227 ::std::string
const& runtimeController
231 MCAPI
void serverUpdate(
::Actor& actor);
234 MCAPI
void setInitializedScriptsRun(
bool);
237 MCAPI
void setLastReloadInitTimeStampClient(uint64 lastReloadInitTimeStamp);
240 MCAPI
void setShouldApplyAnimations(
bool shouldAnimate);
242 MCAPI
void setupDeltaTimeAndLifeTimeParams(
bool incrementLifetime);
245 MCAPI
bool shouldReloadBasedOnLastReloadInitTimeStamp()
const;
251 MCAPI
bool usesLastReloadInitTimeStampClient()
const;
258 MCAPI static ::ApplyAnimationCache createBase(
::Actor const* actor);
261 MCAPI
static uint64 getReloadTimeStampClient();
264 MCAPI
static void incrementCurrentClientFrameIndex();
267 MCAPI
static void incrementCurrentServerFrameIndex();
270 MCAPI
static uint64 incrementReloadTimeStampClient();
277 MCAPI
static char const*
const& DEFAULT_RUNTIME_CONTROLLER();
279 MCAPI static ::std::atomic<int64>& mClientFrameIndex();
281 MCAPI static ::std::atomic<int64>& mReloadTimeStampClient();
283 MCAPI static ::std::atomic<int64>& mServerFrameIndex();
301 MCFOLD ::ClientAnimationComponent* $tryGetClient();
303 MCAPI
void $visitApplyContext(
309 MCFOLD
void $ensureClientAnimationComponentIsInitialized();
311 MCAPI
void $setDirty();
313 MCFOLD
void $updateQueryableGeometryBoneOrientations();
315 MCFOLD ::Matrix
const* $getQueryableBoneOrientation(uint64 boneNameHash)
const;
317 MCFOLD ::gsl::span<::SkeletalHierarchyIndex const> $getSkeletalHierarchiesToProcess()
const;