LeviLamina
Loading...
Searching...
No Matches
UIAnimationComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
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"
11
12// auto generated forward declare list
13// clang-format off
15class UIAnim;
17class UIControl;
19class UIResolvedDef;
20class VisualTree;
21struct ScreenEvent;
22namespace mce { struct TimeStep; }
23// clang-format on
24
26public:
27 // UIAnimationComponent inner types declare
28 // clang-format off
29 struct NewAnimation;
30 // clang-format on
31
32 // UIAnimationComponent inner types define
33 struct NewAnimation {};
34
35 using AnimList = ::std::vector<::std::shared_ptr<::UIAnim>>;
36
37 using AnimListIter = ::std::_Vector_iterator<::std::_Vector_val<::std::_Simple_types<::std::shared_ptr<::UIAnim>>>>;
38
39public:
40 // member variables
41 // NOLINTBEGIN
42 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::UIAnim>>> mAnimList;
43 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::UIAnim>>> mOriginalAnimList;
44 ::ll::TypedStorage<8, 24, ::std::vector<::ScreenEvent>> mNewScreenEvents;
45 ::ll::TypedStorage<1, 1, bool> mTickAttached;
46 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mCreatedTime;
47 ::ll::TypedStorage<1, 1, bool> mRecievedFirstTick;
48 ::ll::TypedStorage<1, 1, bool> mDisableFastForward;
49 ::ll::TypedStorage<4, 4, uint> mResetId;
50 // NOLINTEND
51
52public:
53 // virtual functions
54 // NOLINTBEGIN
55 virtual ~UIAnimationComponent() /*override*/ = default;
56
57 virtual ::std::unique_ptr<::UIComponent> clone(::UIControl& cloneOwner) const /*override*/;
58
59 virtual void reset() /*override*/;
60
61 virtual ::ComponentReceiveActionType receive(
62 ::VisualTree& visualTree,
63 ::ScreenInputContext& context,
64 ::UIAnimationController& animationController,
65 ::ScreenEvent const& screenEvent
66 ) /*override*/;
67 // NOLINTEND
68
69public:
70 // member functions
71 // NOLINTBEGIN
72 MCAPI void _addNextAnimation(
73 ::UIAnim& anim,
74 ::std::map<::std::string, ::std::shared_ptr<::UIAnim>>& animationNames,
75 ::std::shared_ptr<::UIAnim> const& firstAnim,
76 ::UIControlFactory& factory
77 );
78
79 MCAPI ::ui::AnimationStatus _animationTick(::mce::TimeStep const& timeStep);
80
81 MCAPI ::std::shared_ptr<::UIAnim> _createAnimation(::UIResolvedDef& def, ::UIControlFactory& factory);
82
83 MCAPI void _queueAnimScreenEvent(::UIAnim* anim, ::AnimEvent animEvent);
84
85 MCAPI ::AnimationTickResult
86 _tickUIAnim(::UIAnim* anim, ::std::vector<::UIAnimationComponent::NewAnimation>& newAnimsToAdd, float deltaTime);
87
88 MCAPI ::UIAnim* addAnimation(::std::string const& name, ::UIResolvedDef& def, ::UIControlFactory& factory);
89
90 MCAPI void handleScreenEvent(::UIAnimationController& animationController, ::ScreenEvent const& screenEvent);
91
92 MCAPI bool hasAnimationWithPlayAndEndEventIds(uint playEventId, uint endEventId) const;
93 // NOLINTEND
94
95public:
96 // virtual function thunks
97 // NOLINTBEGIN
98 MCAPI ::std::unique_ptr<::UIComponent> $clone(::UIControl& cloneOwner) const;
99
100 MCAPI void $reset();
101
102 MCAPI ::ComponentReceiveActionType $receive(
103 ::VisualTree& visualTree,
104 ::ScreenInputContext& context,
105 ::UIAnimationController& animationController,
106 ::ScreenEvent const& screenEvent
107 );
108 // NOLINTEND
109
110public:
111 // vftables
112 // NOLINTBEGIN
113 MCNAPI static void** $vftable();
114 // NOLINTEND
115};
Definition ScreenInputContext.h:5
Definition UIAnim.h:5
Definition UIAnimationComponent.h:5
static MCAPI void ** $vftable()
Definition UIAnimationController.h:5
Definition UIComponent.h:5
Definition UIControlFactory.h:5
Definition UIControl.h:5
Definition UIResolvedDef.h:5
Definition VisualTree.h:5
Definition ScreenEvent.h:5
Definition UIAnimationComponent.h:13
Definition TimeStep.h:7