3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/input/BindingFactory.h"
7#include "mc/deps/input/RectangleArea.h"
8#include "mc/options/option_types/OptionID.h"
20 ::ll::TypedStorage<8, 16, ::std::map<uint, ::std::function<float()>>> mFloatBindings;
21 ::ll::TypedStorage<8, 16, ::std::map<uint, ::std::function<void(
float)>>> mFloatSetters;
22 ::ll::TypedStorage<8, 16, ::std::map<uint, ::std::function<bool()>>> mBoolBindings;
23 ::ll::TypedStorage<8, 16, ::std::map<uint, ::std::function<::RectangleArea()>>> mAreaBindings;
24 ::ll::TypedStorage<8, 16, ::std::map<uint, ::std::function<::std::string()>>> mStringBindings;
25 ::ll::TypedStorage<8, 16, ::std::map<uint, ::std::function<::glm::vec2()>>> mPointBindings;
26 ::ll::TypedStorage<8, 16, ::std::map<uint, ::std::function<void(::RectangleArea)>>> mDynamicAreaBindings;
27 ::ll::TypedStorage<8, 8, ::ClientInputHandler const&> mClientInputHandler;
28 ::ll::TypedStorage<8, 8, ::IClientInstance&> mClient;
29 ::ll::TypedStorage<4, 16, ::RectangleArea> mEmpty;
30 ::ll::TypedStorage<4, 16, ::RectangleArea> mTurnInteract;
31 ::ll::TypedStorage<4, 16, ::RectangleArea> mDPadNoTurnInteractArea;
32 ::ll::TypedStorage<4, 16, ::RectangleArea> mGuiPassthrough;
33 ::ll::TypedStorage<4, 16, ::RectangleArea> mHotbarGuiPassthrough;
34 ::ll::TypedStorage<4, 16, ::RectangleArea> mChangingFlightHeight;
35 ::ll::TypedStorage<4, 16, ::RectangleArea> mLeft;
36 ::ll::TypedStorage<4, 16, ::RectangleArea> mRight;
37 ::ll::TypedStorage<4, 16, ::RectangleArea> mUpInvisible;
38 ::ll::TypedStorage<4, 16, ::RectangleArea> mDownInvisible;
39 ::ll::TypedStorage<4, 16, ::RectangleArea> mUp;
40 ::ll::TypedStorage<4, 16, ::RectangleArea> mDown;
41 ::ll::TypedStorage<4, 16, ::RectangleArea> mAscend;
42 ::ll::TypedStorage<4, 16, ::RectangleArea> mMiddleRight;
43 ::ll::TypedStorage<4, 16, ::RectangleArea> mDescend;
44 ::ll::TypedStorage<4, 16, ::RectangleArea> mPause;
45 ::ll::TypedStorage<4, 16, ::RectangleArea> mEmote;
46 ::ll::TypedStorage<4, 16, ::RectangleArea> mChat;
47 ::ll::TypedStorage<4, 16, ::RectangleArea> mTogglePerspective;
48 ::ll::TypedStorage<4, 16, ::RectangleArea> mJump;
49 ::ll::TypedStorage<4, 16, ::RectangleArea> mUpLeft;
50 ::ll::TypedStorage<4, 16, ::RectangleArea> mUpRight;
51 ::ll::TypedStorage<4, 16, ::RectangleArea> mDownLeft;
52 ::ll::TypedStorage<4, 16, ::RectangleArea> mDownRight;
53 ::ll::TypedStorage<4, 16, ::RectangleArea> mPlayerEffects;
54 ::ll::TypedStorage<4, 16, ::RectangleArea> mPaddleRight;
55 ::ll::TypedStorage<4, 16, ::RectangleArea> mPaddleLeft;
56 ::ll::TypedStorage<4, 16, ::RectangleArea> mSneak;
57 ::ll::TypedStorage<4, 16, ::RectangleArea> mMobEffects;
58 ::ll::TypedStorage<4, 16, ::RectangleArea> mToastArea;
59 ::ll::TypedStorage<4, 16, ::RectangleArea> mCodeBuilder;
60 ::ll::TypedStorage<4, 16, ::RectangleArea> mImmersiveReader;
61 ::ll::TypedStorage<4, 16, ::RectangleArea> mDestroyOrAttack;
62 ::ll::TypedStorage<4, 16, ::RectangleArea> mBuildOrInteract;
63 ::ll::TypedStorage<4, 16, ::RectangleArea> mBlockSelect;
64 ::ll::TypedStorage<4, 16, ::RectangleArea> mBlockSelectNewControls;
65 ::ll::TypedStorage<4, 16, ::RectangleArea> mDefaultMoveStickArea;
66 ::ll::TypedStorage<8, 64, ::std::function<void(::RectangleArea)>> mInteractSetter;
67 ::ll::TypedStorage<4, 16, ::RectangleArea> mInteractSize;
68 ::ll::TypedStorage<4, 16, ::RectangleArea> mSneakNewControls;
69 ::ll::TypedStorage<4, 16, ::RectangleArea> mJumpNewControls;
70 ::ll::TypedStorage<4, 16, ::RectangleArea> mSprintNewControls;
71 ::ll::TypedStorage<8, 16, ::std::map<uint, ::std::shared_ptr<::RectangleArea>>> mCustomRectangleAreas;
72 ::ll::TypedStorage<8, 16, ::std::map<uint, ::RectangleArea>> mCustomAreaFractions;
73 ::ll::TypedStorage<4, 8, ::glm::vec2> mInteractCreative;
74 ::ll::TypedStorage<4, 8, ::glm::vec2> mInteractSurvival;
75 ::ll::TypedStorage<4, 16, ::RectangleArea> mFinalSafeScreenArea;
80 ClientBindingFactory& operator=(ClientBindingFactory
const&);
81 ClientBindingFactory(ClientBindingFactory
const&);
82 ClientBindingFactory();
87 virtual ~ClientBindingFactory() =
default;
89 virtual ::std::function<bool()> getBooleanBinding(uint name)
const ;
91 virtual ::std::function<float()> getFloatBinding(uint name)
const ;
93 virtual ::std::function<::std::string()> getStringBinding(uint name)
const ;
95 virtual ::std::function<::glm::vec2()> getPointBinding(uint name)
const ;
97 virtual ::std::function<::RectangleArea()> getAreaBinding(uint name)
const ;
99 virtual ::std::function<void(::RectangleArea)> getDynamicAreaBinding(uint name)
const ;
101 virtual ::std::function<void(
float)> getFloatSetter(uint name)
const ;
103 virtual void setCustomAreaBinding(::std::string
const& name, ::RectangleArea area) ;
105 virtual void removeCustomAreaBinding(::std::string
const& name) ;
107 virtual ::std::vector<uint> getCustomAreaBindingNames() const ;
113 MCAPI ::RectangleArea
114 _calculateClassicButtonRectangleWithOptionIDs(::OptionID posX, ::OptionID posY, ::OptionID scale) const;
116 MCAPI ::RectangleArea _calculateClassicDpadRectangle() const;
118 MCAPI ::RectangleArea _fitToScreen(::RectangleArea const& rectangle) const;
120 MCAPI
bool _isInputSprinting() const;
122 MCAPI
bool _touchButtonsVisible() const;
124 MCAPI
void setupAreaBindings();
126 MCAPI
void setupBoolBindings();
128 MCAPI
void setupFloatBindings();
130 MCAPI
void setupFloatSetters();
136 MCAPI ::std::function<
bool()> $getBooleanBinding(uint name) const;
138 MCAPI ::std::function<
float()> $getFloatBinding(uint name) const;
140 MCAPI ::std::function<::std::
string()> $getStringBinding(uint name) const;
142 MCAPI ::std::function<::glm::vec2()> $getPointBinding(uint name) const;
144 MCAPI ::std::function<::RectangleArea()> $getAreaBinding(uint name) const;
146 MCAPI ::std::function<
void(::RectangleArea)> $getDynamicAreaBinding(uint name) const;
148 MCAPI ::std::function<
void(
float)> $getFloatSetter(uint name) const;
150 MCAPI
void $setCustomAreaBinding(::std::
string const& name, ::RectangleArea area);
152 MCAPI
void $removeCustomAreaBinding(::std::
string const& name);
154 MCAPI ::std::vector<uint> $getCustomAreaBindingNames() const;
Definition BindingFactory.h:5
Definition ClientBindingFactory.h:5
Definition IClientInstance.h:5