Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
ClientInputHandler.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/deps/input/InputBindingMode.h"
8
9// auto generated forward declare list
10// clang-format off
14class Config;
15class IClientInstance;
16class IGameModuleApp;
17class InputHandler;
18class ScreenContext;
23namespace Input::Debug { class ISplitscreenRedirect; }
24// clang-format on
25
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IClientInstance>> mClient;
31 ::ll::TypedStorage<8, 8, ::InputHandler&> mInputHandler;
32 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::Input::Debug::ISplitscreenRedirect>>
33 mDebugSplitscreenInputRedirect;
34 ::ll::TypedStorage<4, 4, ::InputBindingMode> mInputBindingMode;
35 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ClientBindingFactory>> mBindingFactory;
36 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ClientInputMappingFactory>> mMappingFactory;
37 ::ll::TypedStorage<8, 32, ::std::string> mExpectedInGameInputMode;
38 ::ll::TypedStorage<1, 1, bool> mIsFlying;
39 ::ll::TypedStorage<1, 1, bool> mIsSneaking;
40 ::ll::TypedStorage<1, 1, bool> mIsSprinting;
41 ::ll::TypedStorage<1, 1, bool> mIsSwimming;
42 ::ll::TypedStorage<1, 1, bool> mIsInWater;
43 ::ll::TypedStorage<1, 1, bool> mIsExpediateEmoteActive;
44 ::ll::TypedStorage<1, 1, bool> mIsInAscendableBlock;
45 ::ll::TypedStorage<1, 1, bool> mIsOnDescendableBlock;
46 ::ll::TypedStorage<1, 1, bool> mIsCreativeMode;
47 ::ll::TypedStorage<1, 1, bool> mIsSpectatorMode;
48 ::ll::TypedStorage<1, 1, bool> mInteractActive;
49 ::ll::TypedStorage<1, 1, bool> mHasMobEffects;
50 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ClientInputHandlerProxy>> mProxy;
51 // NOLINTEND
52
53public:
54 // prevent constructor by default
55 ClientInputHandler& operator=(ClientInputHandler const&);
56 ClientInputHandler(ClientInputHandler const&);
57 ClientInputHandler();
58
59public:
60 // member functions
61 // NOLINTBEGIN
63 ::Bedrock::NotNullNonOwnerPtr<::IClientInstance> const& client,
64 ::InputHandler& inputHandler,
65 ::Bedrock::NotNullNonOwnerPtr<::Input::Debug::ISplitscreenRedirect> const& debugSplitscreenInputRedirect,
66 ::IGameModuleApp& gameModuleApp
67 );
68
69 MCNAPI ::std::string _interactWithImmersiveReader() const;
70
71 MCNAPI bool allowPicking() const;
72
73 MCNAPI bool canInteract() const;
74
75 MCNAPI ::std::string getBoatExitText() const;
76
77 MCNAPI void getCursorPos(float& xCursor, float& yCursor) const;
78
79 MCNAPI ::std::string getInteractText() const;
80
82
83 MCNAPI bool isBlockSelectToggled() const;
84
85 MCNAPI bool isTouchGameplayAllowed() const;
86
87 MCAPI void onConfigChanged(::Config const& c);
88
89 MCNAPI void pushInputMapping(bool inGame);
90
91 MCAPI void releaseButtonsAndSticks();
92
93 MCNAPI void render(::ScreenContext& screenContext);
94
95 MCAPI void resetPlayerState();
96
97 MCNAPI void setBlockSelectToggle(bool value);
98
99 MCNAPI bool showImmersiveReader() const;
100
101 MCAPI void updateInputMapping();
102
103 MCNAPI bool updateInputMode(::std::string const& mode);
104
105 MCNAPI void updatePlayerState(
106 ::gsl::not_null<::IClientInstance const*> client,
107 ::MovementAbilitiesComponent const& abilities,
108 ::MobEffectsComponent const& mobEffects,
109 ::ActorDataFlagComponent const& synchedActorData,
110 ::MoveInputComponent& moveInput,
111 bool isRiding,
112 bool isInWater
113 );
114
115 MCNAPI bool useFreeformPickDirection() const;
116
118 // NOLINTEND
119
120public:
121 // constructor thunks
122 // NOLINTBEGIN
123 MCNAPI void* $ctor(
124 ::Bedrock::NotNullNonOwnerPtr<::IClientInstance> const& client,
125 ::InputHandler& inputHandler,
126 ::Bedrock::NotNullNonOwnerPtr<::Input::Debug::ISplitscreenRedirect> const& debugSplitscreenInputRedirect,
127 ::IGameModuleApp& gameModuleApp
128 );
129 // NOLINTEND
130
131public:
132 // destructor thunk
133 // NOLINTBEGIN
134 MCNAPI void $dtor();
135 // NOLINTEND
136};
Definition ClientBindingFactory.h:5
Definition ClientInputHandlerProxy.h:5
Definition ClientInputHandler.h:5
MCAPI void getCursorPos(float &xCursor, float &yCursor) const
MCAPI void pushInputMapping(bool inGame)
MCAPI bool showImmersiveReader() const
MCAPI void * $ctor(::Bedrock::NotNullNonOwnerPtr<::IClientInstance > const &client, ::InputHandler &inputHandler, ::Bedrock::NotNullNonOwnerPtr<::Input::Debug::ISplitscreenRedirect > const &debugSplitscreenInputRedirect, ::IGameModuleApp &gameModuleApp)
MCAPI bool updateInputMode(::std::string const &mode)
MCAPI::std::string getBoatExitText() const
MCAPI::std::string _interactWithImmersiveReader() const
MCAPI bool isTouchGameplayAllowed() const
MCAPI bool useFreeformPickDirection() const
MCAPI::std::string getInteractText() const
MCAPI ClientInputHandler(::Bedrock::NotNullNonOwnerPtr<::IClientInstance > const &client, ::InputHandler &inputHandler, ::Bedrock::NotNullNonOwnerPtr<::Input::Debug::ISplitscreenRedirect > const &debugSplitscreenInputRedirect, ::IGameModuleApp &gameModuleApp)
MCAPI ~ClientInputHandler()
MCAPI bool getSplitscreenJoinPromptVisible() const
MCAPI bool canInteract() const
MCAPI void updatePlayerState(::gsl::not_null<::IClientInstance const * > client, ::MovementAbilitiesComponent const &abilities, ::MobEffectsComponent const &mobEffects, ::ActorDataFlagComponent const &synchedActorData, ::MoveInputComponent &moveInput, bool isRiding, bool isInWater)
MCAPI bool allowPicking() const
MCAPI void render(::ScreenContext &screenContext)
MCAPI void $dtor()
MCAPI void setBlockSelectToggle(bool value)
MCAPI bool isBlockSelectToggled() const
Definition ClientInputMappingFactory.h:5
Definition Config.h:5
Definition IClientInstance.h:5
Definition IGameModuleApp.h:5
Definition InputHandler.h:5
Definition ISplitscreenRedirect.h:7
Definition ScreenContext.h:5
Definition ActorDataFlagComponent.h:9
Definition MobEffectsComponent.h:8
Definition MoveInputComponent.h:11
Definition MovementAbilitiesComponent.h:5