// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "../Global.h"

#define BEFORE_EXTRA

#undef BEFORE_EXTRA

class AnimationComponent {

#define AFTER_EXTRA

#undef AFTER_EXTRA
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_ANIMATIONCOMPONENT
public:
    class AnimationComponent& operator=(class AnimationComponent const &) = delete;
    AnimationComponent(class AnimationComponent const &) = delete;
    AnimationComponent() = delete;
#endif

public:
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_ANIMATIONCOMPONENT
#endif
    MCAPI AnimationComponent(enum AnimationComponentGroup, class AnimationComponentID const &);
    MCAPI std::unique_ptr<class ActorAnimationPlayer> createAnimationPlayer(class HashedString const &, class ExpressionNode const &);
    MCAPI std::vector<class BoneOrientation> * getBoneOrientations(enum SkeletalHierarchyIndex, bool);
    MCAPI void initializeServerAnimationComponent(class Actor &, class AnimationResourceDefinitionMap &, class std::function<void (class ActorAnimationPlayer &)>);
    MCAPI void serverUpdate(class Actor &);
    MCAPI void setDirty();
    MCAPI void setupDeltaTimeAndLifeTimeParams(bool);
    MCAPI ~AnimationComponent();
    MCAPI static class std::shared_ptr<class AnimationComponent> getAnimationComponent(enum AnimationComponentGroup, class AnimationComponentID);

//private:
    MCAPI static class std::unordered_map<class AnimationComponentID, class std::weak_ptr<class AnimationComponent>, struct std::hash<class AnimationComponentID>, struct std::equal_to<class AnimationComponentID>, class std::allocator<struct std::pair<class AnimationComponentID const, class std::weak_ptr<class AnimationComponent>>>> & _getAllAnimationComponents(enum AnimationComponentGroup);
    MCAPI static class std::recursive_mutex & _getAnimationComponentMapLock();

private:
    MCAPI static struct std::atomic<__int64> mClientFrameIndex;
    MCAPI static unsigned __int64 mReloadTimeStampClient;
    MCAPI static struct std::atomic<__int64> mServerFrameIndex;

};