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;
105 virtual ~AnimationComponent() =
default;
107 virtual ~AnimationComponent();
110 virtual ::ClientAnimationComponent* tryGetClient();
112 virtual void visitApplyContext(
120 initializeClientAnimationComponent(::std::function<
void(
::ActorAnimationPlayer&)> animationComponentInitFunction);
123 virtual void ensureClientAnimationComponentIsInitialized();
125 virtual void setDirty();
127 virtual void updateQueryableGeometryBoneOrientations();
130 virtual ::Matrix
const* getQueryableBoneOrientation(uint64)
const;
132 virtual ::Matrix
const* getQueryableBoneOrientation(uint64 boneNameHash)
const;
135 virtual ::gsl::span<::SkeletalHierarchyIndex const> getSkeletalHierarchiesToProcess()
const;
151 MCAPI
void _addAnimationToStatePlayer(
153 ::std::shared_ptr<::ActorAnimationControllerStatePlayer> player
157 MCAPI ::RenderParams& _prepRenderParamsForActor(
::Actor& actor);
159 MCAPI ::std::shared_ptr<::ActorAnimationPlayer> createAnimationPlayer(
162 ::std::set<::HashedString, ::Util::HashStringHashGreater>& animationControllerNameStack
166 MCAPI ::std::shared_ptr<::ActorAnimationControllerStatePlayer> editGlobalAnimationData(
169 ::std::string
const& stopExpression,
170 ::MolangVersion stopExpressionVersion,
171 ::std::string
const& nextStateName,
172 ::std::string
const& runtimeController
175 MCAPI ::std::shared_ptr<::ActorAnimationPlayer> findAnimation(
::HashedString const& rawAnimationName);
177 MCAPI ::std::shared_ptr<::ActorAnimationControllerPlayer>
178 getAnimationControllerPlayer(
::HashedString const& destControllerName,
bool createIfMissing);
180 MCAPI ::ModelPartLocator* getLocator(
::HashedString const& locatorNameHash);
182 MCAPI
float getRegisteredAnimationLength(::std::string
const& friendlyName)
const;
187 MCAPI
void initializeServerAnimationComponent(
189 ::std::shared_ptr<::CommonResourceDefinitionMap> animationResourceDefinition,
194 MCAPI
bool isAnimationRegistered(
::HashedString const& friendlyName)
const;
196 MCAPI ::std::shared_ptr<::ActorAnimationControllerStatePlayer> playAnimation(
199 ::std::string
const& runtimeController
203 MCAPI
void serverUpdate(
::Actor& actor);
206 MCAPI
void setInitializedScriptsRun(
bool);
208 MCAPI
void setupDeltaTimeAndLifeTimeParams(
bool incrementLifetime);
218 MCAPI static ::ApplyAnimationCache createBase(
::Actor const* actor);
225 MCAPI static ::std::atomic<int64>& mClientFrameIndex();
227 MCAPI static ::std::atomic<int64>& mReloadTimeStampClient();
229 MCAPI static ::std::atomic<int64>& mServerFrameIndex();
249 MCFOLD ::ClientAnimationComponent* $tryGetClient();
251 MCAPI
void $visitApplyContext(
259 $initializeClientAnimationComponent(::std::function<
void(
::ActorAnimationPlayer&)> animationComponentInitFunction);
262 MCFOLD
void $ensureClientAnimationComponentIsInitialized();
264 MCAPI
void $setDirty();
266 MCFOLD
void $updateQueryableGeometryBoneOrientations();
269 MCFOLD ::Matrix
const* $getQueryableBoneOrientation(uint64)
const;
271 MCFOLD ::Matrix
const* $getQueryableBoneOrientation(uint64 boneNameHash)
const;
274 MCFOLD ::gsl::span<::SkeletalHierarchyIndex const> $getSkeletalHierarchiesToProcess()
const;