LeviLamina
Loading...
Searching...
No Matches
PageIndicatorManagerComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/controls/ComponentReceiveActionType.h"
7#include "mc/client/gui/controls/UIComponent.h"
8#include "mc/deps/core/utility/pub_sub/Publisher.h"
9#include "mc/deps/input/InputMode.h"
10
11// auto generated forward declare list
12// clang-format off
15class UIControl;
16class VisualTree;
17struct ScreenEvent;
18namespace Bedrock::PubSub { class Subscription; }
19namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
20// clang-format on
21
23public:
24 // PageIndicatorManagerComponent inner types define
25 enum class PageIndicatorDirection : uchar {
26 Left = 0,
27 Right = 1,
28 };
29
30public:
31 // member variables
32 // NOLINTBEGIN
33 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::UIControl>> mControlWithManagerToCompare;
34 ::ll::TypedStorage<8, 8, uint64> mSubPage;
35 ::ll::TypedStorage<8, 8, uint64> mNumPages;
36 ::ll::TypedStorage<4, 4, uint> mNextSubPageBinding;
37 ::ll::TypedStorage<4, 4, uint> mPrevSubPageBinding;
38 ::ll::TypedStorage<4, 4, ::InputMode> mInputMode;
39 ::ll::TypedStorage<
40 8,
41 128,
42 ::Bedrock::PubSub::Publisher<void(uint64), ::Bedrock::PubSub::ThreadModel::MultiThreaded, 0>>
43 mPublisher;
44 ::ll::TypedStorage<1, 1, bool> mConsumeEvents;
45 // NOLINTEND
46
47public:
48 // prevent constructor by default
49 PageIndicatorManagerComponent();
50
51public:
52 // virtual functions
53 // NOLINTBEGIN
54 virtual ~PageIndicatorManagerComponent() /*override*/ = default;
55
56 virtual ::std::unique_ptr<::UIComponent> clone(::UIControl& cloneOwner) const /*override*/;
57
58 virtual void reload(::UIComponent const& rhs) /*override*/;
59
60 virtual void reset() /*override*/;
61
62 virtual ::ComponentReceiveActionType receive(
63 ::VisualTree& context,
64 ::ScreenInputContext& screenEvent,
65 ::UIAnimationController&,
66 ::ScreenEvent const&
67 ) /*override*/;
68 // NOLINTEND
69
70public:
71 // member functions
72 // NOLINTBEGIN
73 MCAPI explicit PageIndicatorManagerComponent(::UIControl& owner);
74
75 MCAPI void _broadcastNewHoverSliceButtonEvent(
76 ::ScreenInputContext& context,
77 uint64 newSubPage,
78 bool isInteracted,
79 uint pressedButton
80 );
81
82 MCFOLD ::Bedrock::PubSub::Subscription registerListener(::std::function<void(uint64)> callback);
83
84 MCAPI ::Bedrock::PubSub::Subscription
85 registerListenerWithExpectedPageCount(uint64 expectedPageCount, ::std::function<void(uint64)> callback);
86
87 MCAPI void setNextSubPageBinding(uint binding);
88
89 MCFOLD void setPrevSubPageBinding(uint binding);
90
91 MCAPI void setTargetManagerToCompare(::std::shared_ptr<::UIControl> targetControlWithManagerToCompare);
92 // NOLINTEND
93
94public:
95 // constructor thunks
96 // NOLINTBEGIN
97 MCAPI void* $ctor(::UIControl& owner);
98 // NOLINTEND
99
100public:
101 // virtual function thunks
102 // NOLINTBEGIN
103 MCAPI ::std::unique_ptr<::UIComponent> $clone(::UIControl& cloneOwner) const;
104
105 MCAPI void $reload(::UIComponent const& rhs);
106
107 MCAPI void $reset();
108
109 MCAPI ::ComponentReceiveActionType
110 $receive(::VisualTree& context, ::ScreenInputContext& screenEvent, ::UIAnimationController&, ::ScreenEvent const&);
111 // NOLINTEND
112
113public:
114 // vftables
115 // NOLINTBEGIN
116 MCNAPI static void** $vftable();
117 // NOLINTEND
118};
Definition Subscription.h:10
Definition PageIndicatorManagerComponent.h:5
static MCAPI void ** $vftable()
Definition ScreenInputContext.h:5
Definition UIAnimationController.h:5
Definition UIComponent.h:5
Definition UIControl.h:5
Definition VisualTree.h:5
Definition ScreenEvent.h:5