3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/controls/ComponentReceiveActionType.h"
7#include "mc/client/gui/controls/UIComponent.h"
8#include "mc/deps/input/InputMode.h"
27 enum class SelectionWheelIterateDir : uchar {
36 ::ll::TypedStorage<8, 8, uint64> mHoverSlice;
37 ::ll::TypedStorage<4, 4, uint> mButtonEventName;
38 ::ll::TypedStorage<1, 1, bool> mIsInteracted;
39 ::ll::TypedStorage<1, 1, bool> mIsSlotButtonPressed;
43 using HoverSliceType = uint64;
48 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::UIControl>> mWeakScreenControl;
49 ::ll::TypedStorage<8, 24, ::std::vector<::std::weak_ptr<::UIControl>>> mStateControls;
50 ::ll::TypedStorage<1, 1, bool> mConsumeEvents;
51 ::ll::TypedStorage<8, 8, uint64> mSliceCount;
52 ::ll::TypedStorage<8, 8, uint64> mHoverSlice;
53 ::ll::TypedStorage<8, 8, uint64> mLastValidHoverSlice;
54 ::ll::TypedStorage<4, 4, float> mInnerRadius;
55 ::ll::TypedStorage<4, 4, float> mOuterRadius;
56 ::ll::TypedStorage<4, 4, uint> mAnalogButtonNameId;
57 ::ll::TypedStorage<4, 4, uint> mSelectButtonNameId;
58 ::ll::TypedStorage<4, 4, uint> mHoverButtonNameId;
59 ::ll::TypedStorage<4, 4, uint> mIterateLeftNameId;
60 ::ll::TypedStorage<4, 4, uint> mIterateRightNameId;
61 ::ll::TypedStorage<8, 24, ::std::vector<uint>> mSelectSlotNameIds;
62 ::ll::TypedStorage<4, 4, ::InputMode> mInputMode;
67 SelectionWheelComponent();
72 virtual ~SelectionWheelComponent() =
default;
74 virtual ::std::unique_ptr<::UIComponent> clone(::UIControl& cloneOwner)
const ;
76 virtual void reset() ;
78 virtual void reload(::UIComponent
const& rhs) ;
80 virtual ::ComponentReceiveActionType receive(
81 ::VisualTree& visualTree,
82 ::ScreenInputContext& context,
83 ::UIAnimationController& animationController,
84 ::ScreenEvent
const& screenEvent
87 virtual ::ComponentReceiveActionType receive(::ScreenEvent
const& screenEvent) ;
89 virtual void onVisibilityChanged(
bool visible) ;
91 virtual void onEnabledChanged(
bool enabled) ;
97 MCAPI
explicit SelectionWheelComponent(::UIControl& owner);
99 MCAPI
void _updateControlVisibility();
105 MCAPI
void* $ctor(::UIControl& owner);
111 MCAPI ::std::unique_ptr<::UIComponent> $clone(::UIControl& cloneOwner)
const;
115 MCAPI
void $reload(::UIComponent
const& rhs);
117 MCAPI ::ComponentReceiveActionType $receive(
118 ::VisualTree& visualTree,
119 ::ScreenInputContext& context,
120 ::UIAnimationController& animationController,
121 ::ScreenEvent
const& screenEvent
124 MCAPI ::ComponentReceiveActionType $receive(::ScreenEvent
const& screenEvent);
126 MCAPI
void $onVisibilityChanged(
bool visible);
128 MCAPI
void $onEnabledChanged(
bool enabled);
Definition ScreenInputContext.h:5
Definition SelectionWheelComponent.h:5
Definition UIAnimationController.h:5
Definition UIComponent.h:5
Definition VisualTree.h:5
Definition ScreenEvent.h:5