3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/controls/AnimEvent.h"
7#include "mc/client/gui/controls/AnimationTickResult.h"
8#include "mc/client/gui/controls/ComponentReceiveActionType.h"
9#include "mc/client/gui/controls/UIComponent.h"
10#include "mc/client/gui/screens/AnimationStatus.h"
37 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::UIAnim>> newAnim;
38 ::ll::TypedStorage<4, 4, float> lastAnimDuration;
39 ::ll::TypedStorage<4, 4, float> lastAnimTime;
45 MCAPI ~NewAnimation();
55 using AnimList = ::std::vector<::std::shared_ptr<::UIAnim>>;
57 using AnimListIter = ::std::_Vector_iterator<::std::_Vector_val<::std::_Simple_types<::std::shared_ptr<::UIAnim>>>>;
62 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::UIAnim>>> mAnimList;
63 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::UIAnim>>> mOriginalAnimList;
64 ::ll::TypedStorage<8, 24, ::std::vector<::ScreenEvent>> mNewScreenEvents;
65 ::ll::TypedStorage<1, 1, bool> mTickAttached;
66 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mCreatedTime;
67 ::ll::TypedStorage<1, 1, bool> mRecievedFirstTick;
68 ::ll::TypedStorage<1, 1, bool> mDisableFastForward;
69 ::ll::TypedStorage<4, 4, uint> mResetId;
75 virtual ~UIAnimationComponent() ;
77 virtual ::std::unique_ptr<::UIComponent> clone(::UIControl& cloneOwner)
const ;
79 virtual void reset() ;
81 virtual ::ComponentReceiveActionType receive(
82 ::VisualTree& animationController,
83 ::ScreenInputContext& screenEvent,
84 ::UIAnimationController&,
92 MCAPI
void _addNextAnimation(
94 ::std::map<::std::string, ::std::shared_ptr<::UIAnim>>& animationNames,
95 ::std::shared_ptr<::UIAnim>
const& firstAnim,
96 ::UIControlFactory& factory
99 MCAPI ::ui::AnimationStatus _animationTick(::mce::TimeStep
const& timeStep);
101 MCAPI ::std::shared_ptr<::UIAnim> _createAnimation(::UIResolvedDef& def, ::UIControlFactory&);
103 MCAPI ::std::shared_ptr<::UIAnim> _createAnimation(::std::string
const& name, ::UIControlFactory& factory);
105 MCAPI
void _resetAnimations();
107 MCAPI ::AnimationTickResult
108 _tickUIAnim(::UIAnim* anim, ::std::vector<::UIAnimationComponent::NewAnimation>& newAnimsToAdd,
float deltaTime);
110 MCAPI ::UIAnim* addAnimation(::std::string
const& name, ::UIResolvedDef& def, ::UIControlFactory& factory);
112 MCAPI
void collectScreenEvents(::AnimEvent animEvent, ::std::vector<::ScreenEvent>& screenEvents);
114 MCAPI
void handleScreenEvent(::UIAnimationController& animationController, ::ScreenEvent
const& screenEvent);
116 MCAPI
bool hasAnimationWithEndEventId(uint
id)
const;
118 MCAPI
bool hasAnimationWithPlayAndEndEventIds(uint playEventId, uint endEventId)
const;
120 MCAPI
bool isEventListener()
const;
122 MCAPI
void updateProperties();
134 MCAPI ::std::unique_ptr<::UIComponent> $clone(::UIControl& cloneOwner)
const;
138 MCAPI ::ComponentReceiveActionType $receive(
139 ::VisualTree& animationController,
140 ::ScreenInputContext& screenEvent,
141 ::UIAnimationController&,
Definition ScreenInputContext.h:5
Definition UIAnimationComponent.h:5
static MCAPI void ** $vftable()
Definition UIAnimationController.h:5
Definition UIComponent.h:5
Definition UIControlFactory.h:5
Definition UIResolvedDef.h:5
Definition VisualTree.h:5
Definition ScreenEvent.h:5
Definition UIAnimationComponent.h:13